I am having some strange issues trying to git clone one of my public GitHub repositories because of a weird issue. I know it's not an issue with my key, because I've taken the same key from another VM and just simply fixed its permissions. This is the error that I get when trying to use SSH:
[root:kali:~/scripts]# ssh -T [email protected]_write_wait: Connection to 192.30.253.112 port 22: Broken pipe Suggestion 1
Reference: https://gitlab.com/gitlab-com/support-forum/issues/129
Tried to add the following to an /etc/ssh/ssh_config file:
Host * ServerAliveInterval 120 TCPKeepAlive no and no luck. I've even tried changing TCPKeepAlive to yes, and the same thing happens.
My DNS server is set to 8.8.8.8, so not quite sure that's the issue. I can git clone the http URL, just not the SSH URL.
Suggestion 2
I also tried to run the ssh command with the verbose option, and according to the output, it looks like it actually authenticates successfully, as shown below:
debug1: Server accepts key: pkalg ssh-rsa blen 279 debug1: Authentication succeeded (publickey). Authenticated to github.com ([192.30.253.113]:22). debug1: channel 0: new [client-session] debug1: Entering interactive session. debug1: pledge: network debug1: Sending environment. debug1: Sending env LANG = C.UTF-8 debug1: Sending env LC_CTYPE = C.UTF-8 packet_write_wait: Connection to 192.30.253.113 port 22: Broken pipe Any idea what else could be going wrong here?
The difference is in the protocol used, as you probably guessed. Assuming you don't much care about the technical details between HTTPS and ssh, ssh has the advantage that you can use public key authentication, while you must use a username and password with HTTPS.
I don't know who this guy is, but bless him! This worked for me: https://blog.bchoy.me/post/2018-09-11-vmware-ssh-bug/
Put this in your ~/.ssh/config
Host * ServerAliveInterval 600 TCPKeepAlive yes IPQoS=throughput He has a link to some discussion about the IPQoS parameter -- which fixed it for me.
@crunk1 had the right answer for me, but I didn't need all of the settings he listed. Minimally, in ~/.ssh/config I just had to set:
Host * IPQoS=throughput IPQoS That fixed my problem, but then all I wanted to know was what the heck IPQoS is. I couldn't find a simple explanation anywhere (this thread is the top hit for ipqos on SO), but there is at least some info out there.
The ssh_config man page describes the IPQoS option we set above, and lists all of its valid values.
The Debian docs describe troubleshooting a similar situation to that of the OP. In their case, they recommend
Host * IPQoS=0x00 as the fix. Not sure what the difference is.
openssh specifications page lists has spec RFC8325, which describes QoS (quality of service) in great detail. Not so simple, but from what I can glean the idea is that, on connection, modern versions of the openssh server will communicate a ToS (type of service), which somehow has to align with your client's QoS settings.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With