Linux
從 A 到 B 到 C 的 SSH,使用 B 上的私鑰
我正在尋找一種簡單的方法來從我的本地電腦 A 通過代理 B 到目標主機 C 進行 SSH。與 C 上的公鑰一起使用的私鑰在 B 上,我不能把那個鑰匙放在我的本地機器上。有小費嗎?
另外,我希望能夠使用 ~/.ssh/config 來執行此操作。
謝謝!
示意圖:
ssh ssh A ------> B ------> C ^ ^ using A's using B's ssh key ssh key
前提條件:
A
正在執行 ssh-agent;A
可以訪問B
;B
可以訪問C
;A
的 ssh 公鑰存在於B:~/.ssh/authorized_keys
B
的 ssh 公鑰存在於C:~/.ssh/authorized_keys
在
~/.ssh/config
上A
,添加Host C ProxyCommand ssh -o 'ForwardAgent yes' B 'ssh-add && nc %h %p'
如果您在 B 上的 ssh 私鑰位於非標準位置,請將其路徑添加到
ssh-add
.您現在應該可以
C
從以下位置訪問A
:A$ ssh C C$