2012年3月7日星期三

为不同host设置独立的ssh选项

    到厂里之后需要维护很多主机,每次维护都是ssh到主机再操作。出于安全性的考虑,厂里大多数主机都改了sshd的监听端口,同时需要使用public key认证方式。随着时间的推移,需要维护的主机数量也在增多;而这些主机当中各有各的需求选项,例如端口不同等。这样导致我每次维护都需要去看维护的主机的端口是啥,而且每次还要手动输入等,太麻烦了!需要找一个解决方法。
    于是去查阅ssh相关资料,发现:可以在配置文件$HOME/.ssh/config中为不同的主机设置专属的选项。这样每次连接仅需要ssh host-ip就可以了。下面给出配置文件的例子,相关选项的解释可以查看ssh_config(5)。

# Global Option
# 主生效选项,如果选项在这里设置了,则取这里的值,并忽略Host段中的选项值
TCPKeepAlive yes

Host 192.168.10.?    # 可以使用通配符*和?
 Port 2222
 User You

Host !172.18.10.1 172.18.10.?   # 除了172.18.10.1之外的所有主机
 Port 3332
 User He

Host *.domain.domain
 Port 4442
 User She

Host 172.16.10.1 172.16.10.2 172.16.20.2? # 多个主机使用空格分隔
 Port 5552
 User They

没有评论: