我可以快速进行 SSH 身份验证吗?
Posted
技术标签:
【中文标题】我可以快速进行 SSH 身份验证吗?【英文标题】:Can I make SSH Authentication Lightning Fast? 【发布时间】:2011-09-15 18:00:39 【问题描述】:我在一天中多次在终端窗口中使用 SSH。
我记得读过一篇关于重用单个连接的方法,这样就不必在每次向同一主机建立另一个请求时都进行 TCP 和 SSH 握手。
谁能指点我一个链接或描述如何建立一个共享的 ssh 连接,以便后续与同一主机的连接能够快速连接?
谢谢。
【问题讨论】:
【参考方案1】:如果你想让终端保持打开状态,最简单的方法是产生 I/O(“tail -f”或“while [ -d . ]; cat /etc/loadavg; sleep 3; done”)。
如果您想改进连接握手,我使用的一种方法是在您的 sshd_config 中添加“UseDNS no”。
【讨论】:
哦,删除未使用的身份验证(gssapi-with-mic 非常慢)。你也可以用“ssh -v”检查你的bootlenech是什么 处理(令人沮丧但频繁)由于强制超时、不活动等导致的 ssh 断开连接:登录后(ssh hostname
),立即运行screen
会话(即screen -S working-on-XYZ bash -l
)。此外,我将我的远程~/.screenrc
设置为包含类似:caption always '%3n %H: %t // %c:%s'
,这可能会强制 ssh 会话“保持活动状态”(由于滴答时钟远程运行,在本地显示)。无论如何,如果我的 ssh 由于任何原因断开连接,我仍然可以随时重新登录并重新连接到我的屏幕会话 (screen ls
/ screen -r working-on-XYZ
)。【参考方案2】:
回答我自己的问题。 Improving SSH (OpenSSH) connection speed with shared connections 描述了使用“ControlPath”配置设置。
更新:对于打开和关闭的连接,通常将ControlPersist 4h
之类的设置添加到您的 ~/.ssh/config 中。见this post about SSH productivity tips。
【讨论】:
以上是关于我可以快速进行 SSH 身份验证吗?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用用于登录的 ssh 密钥在第三方应用程序中对用户进行身份验证?
Jenkins Publish over ssh 身份验证失败,使用私钥