白驹过隙,这篇文章距今已有一年以上的历史。技术发展日新月异,文中的观点或代码很可能过时或失效,请自行甄别:)

需求

当我们需要登录某一个服务器集群下的某些内网机器时,需要通过该内网中某一个具有外网权限的机器来做跳板机,实现登录到该内网机中.

方法一

ssh 目标机器登录用户@目标机器IP -p 目标机器端口 -o ProxyCommand='ssh -p 跳板机端口 跳板机登录用户@跳板机IP -W %h:%p'

方法二

  1. $HOME/.ssh目录下建立/修改文件config
Host tiaoban   #任意名字,随便使用

    HostName 192.168.1.1   #这个是跳板机的IP,支持域名

    Port 22      #跳板机端口

    User username_tiaoban       #跳板机用户



Host nginx      #同样,任意名字,随便起

    HostName 192.168.1.2  #真正登陆的服务器,不支持域名必须IP地址

    Port 22   #服务器的端口

    User username   #服务器的用户

    ProxyCommand ssh username_tiaoban@tiaoban -W %h:%p



Host 10.10.0.*      #可以用*通配符

    Port 22   #服务器的端口

    User username   #服务器的用户

    ProxyCommand ssh username_tiaoban@tiaoban -W %h:%p

保存后即可使用ssh nginx登录内网nginx机器,或者直接ssh 10.10.0.1登录10.10.0.*的内网机器