Mac 下 SSH Clone Session

因为公司用的是 windows 电脑,连接服务器使用的是 SecureCRT. 这个软件有个非常好用的功能,克隆会话。每天只需要第一次连接的时候使用密码,其它时候就直接克隆会话。

但是回家后是使用自己的 Mac, 于是也想实现这样的效果。于是 Google 一下。

发现其实是 ssh config 的一个功能。所以实现过程如果下:

先切到 .ssh 目录。在主目录下,

1
cd .ssh

然后新建一个 config 文件,并且内容为:

1
vi config
1
2
3
host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

然后你在一个终端下用 ssh 登陆服务器,是需要输入密码的,再新建一个终端tab, 再 ssh 到同一个服务,这次就不用输入密码了,自动登陆。
到此,克隆会话完成。

Config 内容解释:

  • host : ssh 的 confg 是按 host 来匹配的。这里星号表示下面的配置适用于所有的主机。

  • ControlMaster : 开启同一个网络连接的 session 共享。这里可以有多个值,auto 表示后面新建的 ssh 连接的时候,如果存在 master 连接,就复用,如果不存在,就新建一个。新建的话是需要输入密码的。

  • ControlPath : ssh 用 ControlPath 参数来表示一个连接。%r 表示 ssh 登陆名。%h 表示登陆主机名。%p 表示 ssh 远程登陆端口。