有时因为一些安全方面的原因,需要使用跳板机才能访问到指定的ssh服务器。直接访问的时候是不通的。
这种情况下,就需要先ssh登录到跳板机,再从跳板机上ssh到真正的主机。
通过设置 ~/.ssh/config 文件,可以简化这个过程。
设置跳板机的ssh config
1Host jumper 2 HostName 192.168.1.1 # 换成真实地址 3 User username # 换成真实用户名
此时在控制台中输入 ssh jumper,就会发起到跳板机的验证。输入密码后即可登录到跳板机。
如果需要避免每次输入密码,在跳板机允许的情况下,可以为自己的账户添加authorized_keys。
1ssh-copy-id jumper
也可以选择将密码写入 ssh config中,但是不推荐。
设置目标主机的ssh config
1Host jumper 2 HostName 192.168.1.1 # 换成真实地址 3 User username # 换成真实用户名 4 5Host realhost 6 HostName 10.2.1.1 # 换成真实地址 7 User username # 换成真实用户名 8 ProxyCommand ssh -q -W %h:%p jumper
这里的关键代码就是 ProxyCommand
那一行,设置了通过jumper主机作为跳转服务器。
这样配置之后,就可以直接 ssh realhost
来登录了。
同样,为了简化验证流程,可使用ssh-copy-id realhost
的方式添加authorized_keys到realhost主机。