使用 A 密钥通过 B 框从 A ssh 到 C,而不将其存储在 B 机器上
ssh from A to C via B box using A key without storing it on B machine
我正在编写仅使用一个密钥从 A 到 B 连接到 C 机器的脚本。
所以我想做这样的事情:
ssh -t -i id_rsa user@b_box ssh -i id_rsa user@c_box
问题是我只想将 id_rsa 存储在我的本地主机上。有没有办法把这个key作为参数或者变量传递给B机,这样我就可以不用密码连接到C机了?
我希望能够从B机免密码登录超过30个盒子(将来可能更多)。当我把钥匙放在 B 盒上时,这很容易。
这就是我们 ProxyCommand
的目的:
ssh -i id_rsa -oProxyCommand="ssh -W %h:%p user@b_box" user@c_box
或者 ~/.ssh/config
:
Host b_box
User user
IdentityFile /path/to/id_rsa
Host c_box
ProxyCommand ssh -W %h:%p b_box
User user
IdentityFile /path/to/id_rsa
然后只连接 ssh c_box
。
我正在编写仅使用一个密钥从 A 到 B 连接到 C 机器的脚本。
所以我想做这样的事情:
ssh -t -i id_rsa user@b_box ssh -i id_rsa user@c_box
问题是我只想将 id_rsa 存储在我的本地主机上。有没有办法把这个key作为参数或者变量传递给B机,这样我就可以不用密码连接到C机了?
我希望能够从B机免密码登录超过30个盒子(将来可能更多)。当我把钥匙放在 B 盒上时,这很容易。
这就是我们 ProxyCommand
的目的:
ssh -i id_rsa -oProxyCommand="ssh -W %h:%p user@b_box" user@c_box
或者 ~/.ssh/config
:
Host b_box
User user
IdentityFile /path/to/id_rsa
Host c_box
ProxyCommand ssh -W %h:%p b_box
User user
IdentityFile /path/to/id_rsa
然后只连接 ssh c_box
。