小编Adr*_*ffo的帖子

仅在代理中使用身份文件的 SSH 代理跳转

我在其他线程中找不到我的具体案例。

基本上我有我的 PC (ubuntu)、一个代理 (Debian) 和一个目标 (Debian)。我想通过代理从 PC 到目标进行代理跳转。从代理到目标以及从 PC 到代理的身份验证使用公钥身份验证,每台机器都有自己的密钥对。

PC中的privkey与proxy中的PC pubkey相匹配,它们在默认目录中。所以,我只是运行ssh user@proxy inPC,它可以很好地连接到代理。在代理中,我必须指定ssh -i mypubkey user@targetserver连接正常(它不是默认密钥)。

现在,在 PC 上,我不知道如何运行一个命令并最终进入目标,因为我必须在代理中指定私钥。我试过:

ssh -J user@proxy user@target
ssh -Ao ProxyCommand="ssh -W %h:%p user@proxy" user@target
Run Code Online (Sandbox Code Playgroud)

但它给了我错误权限被拒绝(公钥)。

在代理服务器我试图添加IdentityFile指令中~/.ssh/config/etc/ssh/ssh_config,但显然当我打电话从PC作为主机跳代理,它不需额外花费从这些文件中的配置。

如果我将私钥从代理带到 PC 并指定-i例如,它可以工作(那将是ssh -i mypubkey -J user@proxy user@target)。所以我的问题是:是否可以将私钥保留在代理中并在 PC 中引用它,这样我就不必将其移动到 PC 上?

linux ssh proxy openssh public-key

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

linux ×1

openssh ×1

proxy ×1

public-key ×1

ssh ×1