我能否让SSH身份验证变得非常快?

9

在一天中的许多时候,我都会在终端窗口中使用SSH。

我记得曾经读到一种方法,可以重用单个连接,这样每次向同一主机建立另一个请求时,TCP和SSH握手就不必发生。

有人能否指向一个链接或描述如何建立共享SSH连接,以便随后连接到同一主机时可以快速连接?

谢谢。

2个回答

12

回答自己的问题。使用“ControlPath”配置设置可以提高SSH (OpenSSH)连接速度的共享连接,请参考这篇文章

更新:对于经常打开和关闭的连接,请在您的~/.ssh/config中添加像ControlPersist 4h这样的设置。请参考关于SSH生产力技巧的这篇文章


2
如果您想保持终端打开,最简单的方法是进行I/O操作(例如“tail -f”或“while [ -d . ]; cat /etc/loadavg; sleep 3; done”)。
如果您想改进连接握手,我使用的一种方法是在sshd_config中添加“UseDNS no”。

1
哦,还要删除未使用的身份验证(gssapi-with-mic非常慢)。您还可以通过“ssh -v”检查您的瓶颈。 - Eduardo Costa
为了处理由于强制超时、不活动等而导致的(令人沮丧但频繁的)ssh断开连接:在登录后(ssh {hostname}),立即运行一个screen会话(即,screen -S working-on-XYZ bash -l)。此外,我设置了远程~/.screenrc文件以包含类似以下内容的内容:caption always '%3n %H: %t // %c:%s',这可能会强制ssh会话保持存活状态(由于在远程运行的滴答滴答时钟,在本地显示)。无论如何,如果我的ssh因任何原因断开连接,我仍然可以随时重新登录并重新连接到我的screen会话 (screen ls / screen -r working-on-XYZ). - michael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接