节省你的SSH毗连时间:ControlMaster 使用指南

打印 上一主题 下一主题

主题 860|帖子 860|积分 2580

配景

最近有需求在远程服务器上频繁传输文件(scp),然后执行一些命令。但是这个远程服务器延迟比较高,而且认证花费的时间比较长,让人非常不耐烦。然后发现了一个可以加快这个步调的工具:ControlMaster。
来源:
简介

ControlMaster 是 OpenSSH 提供的一个功能,其作用是让多个 SSH 会话共享一个 TCP 毗连,这样做有几个利益:

  • 淘汰毗连时间:后续的SSH毗连可以复用已经建立的毗连。
  • 淘汰服务端负载:因为淘汰了必要处理的TCP毗连数量。不过个人感觉这个作用不是很大。
  • 淘汰认证次数:只有第一次毗连的时候必要认证。这种方式对于只允许密码登录的服务端来说非常有用。对于采用密钥的服务器来说,假如认证时间很长,节省的时间也会相称可观。
这个功能尤其得当必要频繁进行SSH毗连的时候,好比说

  • 脚本自动化:脚本中可能经常出现类似 ssh user@host command 的命令,而允许复用毗连的话,效率会大大进步。固然,基于 ssh 的其他工具也是适用的,好比说 scp,sftp,也包括基于 ssh 的 git 操纵(主要涉及 clone,push,pull,fetch)。
  • 网络质量不佳:当网络质量不佳的时候,即使不那么频繁的 ssh 操纵,这个功能也可以节省很多时间。固然主要不是时间,毕竟加起来可能也不到一分钟,最主要是等待的过程太烦人了。你也不想每次打开网页,页面都要保持几秒钟的空缺吧?
使用方法

文档地址:https://man.openbsd.org/ssh_config#ControlMaster
打开ssh客户端的配置文件,通常是 ~/.ssh/config
  1. Host *
  2.   ControlMaster auto
  3.   ControlPath ~/.ssh/control-%r@%h:%p
  4.   ControlPersist 1h
复制代码


  • 这里的 * 表示对所有主机生效,也可以单独设置。
  • auto 是保举设置,一样寻常用这个就够了。
  • Path: 指明毗连文件的生存位置。名称保举至少包罗 %r,%h,%p 以保证唯一,大概使用 %C。

  • Time: 没有后缀就是秒。例子:

其他资源:https://docs.rc.fas.harvard.edu/kb/using-ssh-controlmaster-for-single-sign-on/

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表