背景介绍why
很多公司都使用静态密码+动态密码的方式登陆跳板机,某些还会强制一个动态密码只能登陆一次,于是我们面临着等一分钟才能登陆一次跳板机,很不方便。本文介绍一种在本机的设置,免除每次输入密码的方法。
方法how
此时我们打开ssh客户端/shell命令行,根目录下有.ssh目录,进入。新建一个config文件,编辑内容如下1:
Host *
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
Compression yes
如果你的公司relay服务器地址为relay.xuangwu_yan.com,每次都要输入一长串,咱们可以这样干
Host relay
HostName relay.xuanwu_yan.com
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/master-zhangquandan@relay.xuanwu_yan.com:22
Compression yes
于是每次只需输入ssh relay即可登陆。大家自行修改HostName和ControlPath字段就可以。
现在又有问题了,ssh登陆的服务器我不知道HostName或者用户名和本地不一样,可以使用下面的代替,同理,使用ssh relay02命令登陆。
Host relay02
HostName 80.80.80.80
User dandan
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/master-dandan@80.80.80.80
Compression yes
解释
- ControlPersist为长连接,打开之后即使关闭了所有relay的ssh连接,一段时间内也能无需密码重新连接。
- ControlMaster配合ControlPath一起使用,当打开了一个relay的ssh连接之后,再次打开无需重复输入密码,但是关闭所有连接后,再次连接relay仍需输入密码。
- Compression为压缩选项,打开之后加快数据传输速度。
相信到这里大家对ssh有了一个初步的了解,ssh只是工具,用好工具是人是你自己。work hard,keep sharp。