Estou vendo o mesmo comportamento, e acho que é devido a esse bug do OpenSSH: link (O ControlPersist faz com que o stderr seja deixado aberto até a conexão mestre expirar)
Espero que isso seja consertado eventualmente.
Eu recentemente habilitei ControlMaster
e ControlPersist
no SSH para que ele reutilize e multiplique as conexões para velocidade. A configuração é:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
Se eu desativar ControlPersist
, tudo estará bem. Com isso on , a primeira conexão git / hg sempre congelará. O SSHing normalmente (em um shell) funciona bem, nunca pela primeira vez, mas o git / hg congela. Se eu pará-lo com ctrl + C e tente novamente, ele usará a conexão já estabelecida para o multiplex e será rápido, mas não será feito da primeira vez. Ativar LogLevel
até 11 me dá:
remote: debug2: fd 4 setting O_NONBLOCK
remote: debug1: forking to background
remote: debug1: Entering interactive session.
remote: debug2: set_control_persist_exit_time: schedule exit in 14400 seconds
remote: debug1: multiplexing control connection
remote: debug2: fd 5 setting O_NONBLOCK
ponto em que apenas congela e fica lá para sempre. O que há de errado?
Estou vendo o mesmo comportamento, e acho que é devido a esse bug do OpenSSH: link (O ControlPersist faz com que o stderr seja deixado aberto até a conexão mestre expirar)
Espero que isso seja consertado eventualmente.