Git:远程端意外挂断了

时间:2012-03-07 20:47:21

标签: git ssh clone openssh

我已经阅读了这个问题的各个帖子,我可以验证在执行远程ssh命令时使用-t确实强制tty分配并允许命令完成。但是,我遇到的问题是,在此之前的12个小时,我无法自由访问此服务器。现在,由于没有已知的更改,我无法再连接。

我可以整天登录此服务器而不会出现问题。但是,当我尝试执行远程命令时,例如ssh servername' ls / var / tmp',连接断开,服务器上没有记录错误。

那么,改变了什么?

这是我的git配置:

wwwin-svn-sjc:142> git config --list
receive.denynonfastforwards=false
user.name=joericks
user.email=joericks@cisco.com
http.postbuffer=52428800000

我将我的http.postbuffer撞到了一个淫秽的水平,以消除这个潜在的问题。 我可以切换到另一个帐户并使用完全相同的URL从此服务器克隆这些存储库而不会出现问题。其他管理员和用户也不受影响。 当服务器本地并使用问题帐户时,我可以整天添加,提交和推送到远程服务器而不会出现问题。

在Git之外我可以强制使用ssh -t来完成远程ssh命令,但这真的是一种解决方法,如果我不能告诉他们为什么/如何,我的用户就不会接受一个解决方案这种情况或导致它的原因。我吹掉了我的.ssh配置设置和ssh键。试图在没有密钥的情况下进行克隆会提示必要的密码提示和相同的失败。

我验证了.ssh文件和父目录的权限是正确的:

> ls -alrt  
total 712  
-rw-r--r--  1     58 Sep 15 17:02 config  
-rw-r--r--  1 681826 Mar  7 12:24 known_hosts  
-rw-------  1   1675 Mar  7 15:22 id_rsa  
-rw-r--r--  1    405 Mar  7 15:22 id_rsa.pub  
drwx------  2   4096 Mar  7 15:23 .  
-rw-r--r--  1    405 Mar  7 15:23 authorized_keys  
drwxr-xr-x 78  24576 Mar  7 15:25 ..  

我故意保持我的ssh配置尽可能简单:

>cat config  
ForwardX11 yes   
ForwardAgent yes  
StrictHostKeyChecking no  

使用ssh -vvv我回来了这个输出。 (为简洁而截断)

与问题服务器的连接断开:

debug2: channel 0: open confirm rwindow 0 rmax 32768  
debug2: channel 0: rcvd adjust 2097152  
debug2: channel_input_status_confirm: type 99 id 0  
debug2: exec request accepted on channel 0  
debug2: channel 0: rcvd eof  
debug2: channel 0: output open -> drain  
debug2: channel 0: obuf empty  
debug2: channel 0: close_write  
debug2: channel 0: output drain -> closed  

对功能服务器的良好调用:

debug3: packet_send2: adding 48 (len 67 padlen 13 extra_pad 64)  
debug2: we sent a password packet, wait for reply  
debug1: Authentication succeeded (password).  
debug1: channel 0: new [client-session]  
debug3: ssh_session2_open: channel_new: 0  
debug2: channel 0: send open  
debug1: Entering interactive session.  
debug2: callback start  
debug2: client_session2_setup: id 0  
debug1: Sending command: ls  
debug2: channel 0: request exec confirm 1  
debug2: fd 3 setting TCP_NODELAY  
debug2: callback done  
debug2: channel 0: open confirm rwindow 0 rmax 32768  
debug2: channel 0: rcvd adjust 2097152  
debug2: channel_input_status_confirm: type 99 id 0  
debug2: exec request accepted on channel 0  
11:43  

此时我真的很茫然,不幸的是我至少有一个其他用户遇到了同样的问题。有没有人想出究竟是什么导致了这个问题(tty分配失败,除非明确强制)和缺少膝关节混蛋重启系统找到修正来纠正问题?

乔恩

1 个答案:

答案 0 :(得分:1)

管理员比我找到解决方案更聪明。 更改.bashrc文件中的以下行:

[ $FULLENV != "true" ] && [ -z "$PS1" ] && exit

[ $FULLENV != "true" ] && [ -z "$PS1" ] && return