
ssh是运维和后端法式员天天都市频繁使用的工具,登录种种测试或者生产情况的主机来检察机械状态或者调试问题等。如果公司很小就几台机械可能还好,如果需要治理的机械比力多怎么办?像下面这样的种种username,ip,port很难记着ssh zhangsan@192.168.1.10ssh root@172.16.10.1ssh google@8.8.8.8图文无关如果能够设置别名就好了,好比ssh nginx, ssh k8s-master, ssh mysql, ssh test-nginx. 有的人通过设置shell alias搞定,不外alias不能有空格,那就得是ssh-nginx这样了,可是这样的话对于scp以及其他的依赖ssh的工具就不起作用了。
有更好的方式么?其实ssh自己就有这样的设置,以ssh zhangsan@192.168.1.10为例,在~/.ssh/config文件里做如下设置(如果文件不存在,直接新建一个就可以)Host nginx HostName 192.168.1.10 Port 22 User zhangsan(头条编辑的时候看着正常,预览的时候代码缩进没有了,HostName Port User都需要缩进4个空格)然后就可以ssh nginx来替代了,因为22是默认端口,所以Port 22可以不设置. 这样设置有许多利益:scp也可以用,好比 scp nginx:/tmp/xx ./或者 scp ./xxx nginx:/tmp都可以.虽然设置的User是zhangsan, 可是也可以用 ssh root@nginx来切换其他用户.许多其他应用好比ansible也是支持的ssh的设置项很是多,上面只是设置了最简朴的三个,如果有其他需要设置的也是一样的,好比Host k8s HostName 172.16.10.1 ForwardAgent yes Port 2222 CheckHostIp no ProxyCommand ssh jumper -W %h:%p IdentityFile ~/.ssh/k8s_rsa User root如果有些设置是通例的需要对所有的Host生效,可以这样设置Host * ServerAliveInterval 60想相识更富厚的ssh的设置,可以man ssh_config检察.根据上面的规范,我们可以设置更多的host,以后就可以ssh nginx, ssh mysql这样玩啦.。
本文来源:澳门人威尼斯-www.tuan3c.com