位置: 编程技术 - 正文
推荐整理分享Linux下SSH Session复制功能实现方法,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
特别感谢阿干同学的邮件分享。
详细方法
复制代码代码如下: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下通过使用taskset命令来限制进程的CPU 这个时候我们就可以把一些不太重要的比如copy/备份/同步等工作限定在一颗cpu上,或者是多核的cpu的一颗核心上进行处理,虽然这不一定是最有效的方
linux下批量替换文件内容的方法 对于单个文件,使用sed命令很容易做到。如果需要替换某个指定文件夹下所有文件,借助grep和sed组合成一条命令也可以轻松搞定。grep命令可以查找单个
Linux中find常见用法示例 findpath-option[-print][-exec-okcommand]{};find命令的参数;pathname:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print:find命令将
友情链接: 武汉网站建设