主页 > 知识库 > Linux下SSH Session复制功能实现方法

Linux下SSH Session复制功能实现方法

热门标签:天津人工电销机器人费用 哪个地图标注更清晰 4s店如何在百度地图标注 地图标注小区项目入驻 凯立德剧院地图标注 内蒙古电信外呼系统 曲阜地图标注app 漳州外呼系统怎么样 开封400电话办理价格

特别感谢阿干同学的邮件分享。

详细方法


复制代码
代码如下:

Linux/mac下,在$HOME/.ssh/config中加入
Host *
ControlMaster auto
ControlPath a>/tmp/ssh-%r@%h/a>

至此只要第一次SSH登录输入密码,之后同个Hosts则免登。

配置文件分析

man ssh_config 5


复制代码
代码如下:

ControlPath
Specify the path to the control socket used for connection sharing as described in the ControlMaster section
above or the string “none” to disable connection sharing. In the path, ‘%l’ will be substituted by the
local host name, ‘%h’ will be substituted by the target host name, ‘%p’ the port, and ‘%r’ by the remote
login username. It is recommended that any ControlPath used for opportunistic connection sharing include at
least %h, %p, and %r. This ensures that shared connections are uniquely identified.

%r 为远程机器的登录名
%h 为远程机器名

原理分析

严格地讲,它并不是真正意义上的Session Copy,而只能说是共享Socket。
第一次登录的时候,将Socket以文件的形式保存到:/tmp/ssh-%r@%h这个路径
之后登录的时候,一旦发现是同个主机,则复用这个Socket
故,一旦主进程强制退出(Ctrl+C),则其他SSH则被迫退出。

可以通过ssh -v参数,看debug信息验证以上过程

备注

有同学说在linux上通过证书的形式,可以实现免登录,没错。
对于静态密码,完全可以这么干;对于动态密码(口令的方式),则上述手段可以方便很多。

标签:湘西 庆阳 三门峡 衡阳 衡阳 茂名 六盘水 仙桃

巨人网络通讯声明:本文标题《Linux下SSH Session复制功能实现方法》,本文关键词  Linux,下,SSH,Session,复制,功能,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Linux下SSH Session复制功能实现方法》相关的同类信息!
  • 本页收集关于Linux下SSH Session复制功能实现方法的相关信息资讯供网民参考!
  • 推荐文章