SSH支持 ControlMaster模式,可以复用之前已经建立的连接。所以开启这个功能之后,如果已经有一条到relay的链接,那么再连接的时候,就不需要再输入密码了。
而ControlPersist 参数的含义就是在最后一个连接关闭之后也不真正的关掉连接,这样后面再连接的时候就还是不用输入密码。
这里提供一种不需要安装客户端的简单方法,只利用SSH的配置文件(~/.ssh/config)来记录和管理多个 SSH 连接 。
例如,下面定义了连接到 test 这台机器所需的配置:
如下配置需要到要服务端机器上配置,HostName IP配置的是客户端的
# Test host
Host test
HostName 10.25.26.48
Port 1322 //根据服务器ssh的端口设置
User admin
启用这两个功能,就可以解决ssh登录时每次都需要重复输入密码的问题了。
host *
ServerAliveInterval 60
ControlPersist yes
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
完整配置如下:
在做完如上设置后,通过controlmaster特性,只需要第一次登录时输入密码,后续再连接时无需密码直接就连接上了。现在,只要执行 ssh test
就可以了。
相关的controlmaster
命令
###第一次建立master连接时可采用以下命令,会在建立完master连接后回到当前本机的终端下; 当然,如果你就是想留在ssh机上,那就正常的命令连接就好了
ssh -Nf test
### 检查master连接是否建立
ssh test -O check
###结束master连接
ssh test -O exit