运维 SSH 跳板主机如何配置(也许叫法不对)

xu_xiang_yang · 2015年02月16日 · 最后由 robertyu 回复于 2015年03月02日 · 4437 次阅读

现在又 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)

我需要一点帮助。。。多谢

只见过不希望将私钥上传到 B 上的需求,那么可以用 ssh -A。LZ 的需求没见过,为什么不喜欢上传公钥到 C 上?

#1 楼 @lululau 因为有好多台 C,如果这样子做,首先需要在很多台机器上都去把自己公钥传上去,这样很容易出问题。如果以后删除增加权限的时候还要到很多台机器上去做,暴露给公网的机器只应该有一台或比较少的几台。另外,如果以后增加机器,还要把所有人的公钥都复制一遍到新机器上,如果是只有 B 管理所有人的公钥,所有增加机器都只要加 B 的公钥即可。删除权限、增加权限也只用在 B 上操作。这样简单不容易出问题吧。

也许是这个样子的

#3 楼 @small_fish__ 更准确的是一个网关的感觉。。。。就是我们有好多台服务器,其中只有一台服务器在公网暴露。要先 ssh 到这台服务器,再 ssh 到其他的服务器。

5 楼 已删除

#2 楼 @xu_xiang_yang 把跳板机的公钥放到目标机器上不就行了。如果你希望针对不同用户不同目标机器做不同的登陆权限控制,估计 ssh 实现不了,你需要的是一个 ssh 登陆权限的管理系统

B、C 上都需要有你的公钥,放在 B、C 的 ~/authorised_keyshttp://cyj.me/binary/ssh-agent/

#7 楼 @lululau #6 楼 @Rei #8 楼 @dotnil 多谢,我屈服了,一台一台的去复制了

man sshd_config /AuthorizedKeysCommand

就是 B 信任 A,C 信任 B,这样要能够让 A 访问 C,需要 ssh agent forwarding,用 B 来验证 A 登录 C。 http://www.unixwiz.net/techtips/ssh-agent-forwarding.html

堡垒机 GateOne

试试 saltstack

@xu_xiang_yang 哥,这个你问问大神就好了,他以前都弄过。

#14 楼 @robertyu 木有,他不是这么整的~~~~

#15 楼 @xu_xiang_yang 哈哈哈,你加一个机器认证,应该就可以了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号