Skip to content

Instantly share code, notes, and snippets.

@banyudu
Last active June 24, 2020 07:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save banyudu/939284c0037ea4db8abec7d8fee9426f to your computer and use it in GitHub Desktop.
Save banyudu/939284c0037ea4db8abec7d8fee9426f to your computer and use it in GitHub Desktop.
SSH跳转服务器设置

有时因为一些安全方面的原因,需要使用跳板机才能访问到指定的ssh服务器。直接访问的时候是不通的。

这种情况下,就需要先ssh登录到跳板机,再从跳板机上ssh到真正的主机。

通过设置 ~/.ssh/config 文件,可以简化这个过程。

设置跳板机的ssh config

Host jumper
    HostName 192.168.1.1 # 换成真实地址
    User username # 换成真实用户名

此时在控制台中输入 ssh jumper,就会发起到跳板机的验证。输入密码后即可登录到跳板机。

如果需要避免每次输入密码,在跳板机允许的情况下,可以为自己的账户添加authorized_keys。

ssh-copy-id jumper

也可以选择将密码写入 ssh config中,但是不推荐。

设置目标主机的ssh config

Host jumper
    HostName 192.168.1.1 # 换成真实地址
    User username # 换成真实用户名
    
Host realhost
    HostName 10.2.1.1 # 换成真实地址
    User username # 换成真实用户名
    ProxyCommand ssh -q -W %h:%p jumper

这里的关键代码就是 ProxyCommand那一行,设置了通过jumper主机作为跳转服务器。

这样配置之后,就可以直接 ssh realhost来登录了。

同样,为了简化验证流程,可使用ssh-copy-id realhost的方式添加authorized_keys到realhost主机。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment