通过跳板机管理多个ssh会话
为了加强服务器的安全性,一般情况下,服务器的登陆管理都通过跳板机(或堡垒机)进行管理和维护,内网的之间的ssh并不对外开放.
通常情况下,我们如果需要登陆到内部的服务器要先登陆到跳板机,然后再由跳板机连接到内网去进行进一步操作. 这样操作下来对于运维人员来说非常不便.是否有更好的方法来实现本地和内网服务器之间的访问呢?
答案是肯定有的
通过命令行一键连接内网服务器
ssh -i 秘钥 内网用户@内网地址 -p 内网端口 -o ProxyCommand='ssh 跳板机用户@跳板机地址 -p 跳板机端口 -W %h:%p'
通过ssh配置文件一键连接内网服务器
当然我们还可以通过ssh配置文件来实现一键连接,主要通过/etc/ssh/ssh_config 或者~/.ssh/config,我这边采用的是~/.ssh/config
Host server1
HostName 192.168.1.4
User test
Port 22
AddKeysToAgent yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/test/.ssh/id_rsa
ProxyCommand ssh tiaobanji@8.8.4.4 -p 12356 -W %h:%p
Host 10.*.*.*
Port 22
User test
AddKeysToAgent yes
UseKeychain yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/test/.ssh/id_rsa
ProxyCommand ssh tiaobanji@8.8.4.4 -p 12356 -W %h:%p
执行ssh server1
则可以直接连接内网192.168.1.4
同时还支持配置通配符,如上 10网段的主机可以直接通过跳板机连接, 比如执行ssh 10.0.0.1
,则会自动通过跳板机连接到内部网络.