通过ProxyCommand 登录远程内网的服务器

有些机房的服务器为了安全的问题,或者设置了堡垒机,或者有些服务器放置到了内网,对远程管理带来了不方便。
像一些支持分布式的程序,如监控程序Zabbix可以将内网的监控信息数据通过代理传到主控端。但远程的ssh操作的比较麻烦。
现发现一种ssh方式,通过ProxyCommand方式可以很好的支持该类型的操作。在内网测试有效。记录如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat ~/.ssh/config
#ControlMaster auto
#ControlPath /tmp/ssh_mux_%h_%p_%r
#ControlPersist 1h
#gateways
Host gateway
Port 65422
User winupon
Hostname 192.168.16.230
#servers
Host 192.168.22.*
Port 65422
User winupon
IdentityFile /path/to/ssh/key.pem
ProxyCommand ssh gateway nc %h %p

默认读取的时~/.ssh/config 这个文件,可以加上参数,指定不同的文件。
gateway 为堡垒机
然后192.168.22.* 类型的服务器ip都可以通过堡垒机登录。
先要先配置好ssh 互信,或指定key文件

测试

1
2
3
ssh gateway -F ~/.ssh/config
ssh 192.168.22.11 -F ~/.ssh/config.test
ssh 192.168.22.11 -F ~/.ssh/config.test -vvv 开启调试模式

评论