时间:2021-05-24
特别感谢阿干同学的邮件分享。
详细方法
复制代码代码如下:
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上通过证书的形式,可以实现免登录,没错。
对于静态密码,完全可以这么干;对于动态密码(口令的方式),则上述手段可以方便很多。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python实现建立SSH连接的方法。分享给大家供大家参考。具体实现方法如下:我需要实现一个Windows下远程连接到SSH服务器执行命令的功能,
go语言的ssh包居然不支持密码过期重置的功能!版本:gov1.14.1linux环境下安装的。ssh包:gitclonehttps://github.com/
前言scp是securecopy的缩写,scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。Linux的scp命令可以在Linux服务器之间复制文
本文实例讲述了python下paramiko模块实现ssh连接登录Linux服务器的方法。分享给大家供大家参考。具体分析如下:python下有个paramiko
在Linux系统中,可通过ssh将文件传送到FPT空间中,将一些重要的数据进行备份,那么要如何实现文件的传送呢?小编给大家具体介绍下Linux利用ssh传送