现在又 A、B、C 三台机器。我本地机器是 A,我的公钥传到了 B 机器上。我希望通过 B 来访问 C,不希望将公钥传到 C 上
现在大概的配置是:
./ssh/config
Host B HostName 255.255.255.255 //随意写的 User root //随意写的 ForwardAgent yes
Host C HostName 255.255.255.255 //随意写的 User root //随意写的 ProxyCommand ssh B netcat -w 120 %h %p
但是 ssh C,提示我 Permission denied (publickey)
我需要一点帮助。。。多谢
#3 楼 @small_fish__ 更准确的是一个网关的感觉。。。。就是我们有好多台服务器,其中只有一台服务器在公网暴露。要先 ssh 到这台服务器,再 ssh 到其他的服务器。
#2 楼 @xu_xiang_yang 把跳板机的公钥放到目标机器上不就行了。如果你希望针对不同用户不同目标机器做不同的登陆权限控制,估计 ssh 实现不了,你需要的是一个 ssh 登陆权限的管理系统
就是 B 信任 A,C 信任 B,这样要能够让 A 访问 C,需要 ssh agent forwarding,用 B 来验证 A 登录 C。 http://www.unixwiz.net/techtips/ssh-agent-forwarding.html