我启动Ubuntu Linux,打开一个终端,编辑一些代码,并愉快地执行
git push origin master
Run Code Online (Sandbox Code Playgroud)
但是,经过一段时间(有时30分钟,有时几个小时),完全相同的命令将挂起(根本没有输出).
当我尝试
ssh -v git@github.com
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /home/avitus/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: auto-mux: Trying existing master
Run Code Online (Sandbox Code Playgroud)
然后它再次挂起.一旦我将SSH连接到另一台服务器,似乎我再也不能使用SSH来git了.任何想法如何解决这一问题?这让我不得不每次重启.
更新:
当我从〜/ .ssh/config中删除以下两行(旨在促进连接共享)时,问题就消失了
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
Run Code Online (Sandbox Code Playgroud)
只是把我的猜测从评论变成答案......
输出中的最后一行ssh -v
:
debug1: auto-mux: Trying existing master
Run Code Online (Sandbox Code Playgroud)
...告诉您 SSH 已配置为查找现有的 SSH 连接以重用。我怀疑这种现有的连接最终会以某种方式陷入困境,这可以解释您所看到的行为。
此连接共享工具在手册页的 部分中进行了ControlMaster
描述。本质上,“主”SSH 会话创建一个套接字,以后的会话可以连接到该套接字,而不必再次执行潜在长度的身份验证步骤。您将此选项设置为,这意味着将自动创建并使用此套接字。ssh_config(5)
/tmp
auto
归档时间: |
|
查看次数: |
1898 次 |
最近记录: |