- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
SSH 长连接
SSH 长连接
我们知道怎样可以在连接 ssh 远程服务器的时候不输入密码,但是每次连接的时候都建立一个新的连接未免过于啰嗦,尤其是经常时不时就登上服务器的时候,每次连接都耗费了我们的耐心。
这个时候,如果 SSH 像 TCP 长连接那样就好了,一直建立着,不会断开。
你别说,还真有。
不过名字就不叫 SSH 长连接了,英文名叫 "SSH’s ControlMaster".
也就是一个小管家,管理着你的那些连接. 比如,你登陆了服务器 A, 当你退出服务器 A 的时候,小管家并不会断开连接,尽管你看到确实是已经与服务器断开了. 当你再次登陆服务器 A 的时候,你就回发现速度明显快了许多,而且第一次登陆时欢迎的 banner 也不见了,这是为什么? 就是因为小管家一直在连接着服务器,在你看来,你已经与服务器断开连接了,但是服务器却认为你一直在线. 而且你用 ss -ant
查看的时候也会发现连接是建立着的。
那怎么做呢?
在 ~/.ssh/config
文件里,添加如下几句话:
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
解释一下都是什么意思:
Host *
对于所有主机都让小管家托管ControlMaster auto
开启小管家的自动控制ControlPath
托管的凭据在哪儿(一切皆文件)
当然,你也可以指定仅适用于某些主机:
HOST 192.168.0.*
HOST *.com
如此之类的。
然后,贴一下我的配置文件:
TCPKeepAlive=yes
ServerAliveInterval=15
ServerAliveCountMax=6
Compression=yes
ControlMaster auto
ControlPath /tmp/%r@%h:%p
ControlPersist yes
刚才更新 github 的时候建立了一个连接:
➤ l git@github.com\:22
srw------- 1 mr mr 0 1 月 19 18:12 git@github.com:22=
➤
我看可以看到,这是一个 socket 文件,并且:
➤ ss -ant4 | grep -E ':22'
ESTAB 0 0 10.177.46.227:40182 192.30.252.131:22
➤
也是可以看到这个已经建立的连接的. 节省了以后再次建立连接的时间. 真的很快 :)
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论