Внезапно на одном из серверов обнаружилась таинственная проблема, связанная с зависанием SSH клиента, когда необходимо выполнить команду (любую) на сервере. Если добавить клиенту многословности, то выглядит так:
Authenticated to ***.
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug2: client_session2_setup: id 0
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x08
debug1: Sending environment.
debug3: Ignored env SHELL
debug3: Ignored env TERM
debug3: Ignored env XDG_SESSION_COOKIE
debug3: Ignored env USER
debug3: Ignored env LS_COLORS
debug3: Ignored env MAIL
debug3: Ignored env PATH
debug3: Ignored env PWD
debug1: Sending env LANG = ru_RU.KOI8-R
debug2: channel 0: request env confirm 0
debug3: Ignored env SHLVL
debug3: Ignored env HOME
debug3: Ignored env LOGNAME
debug3: Ignored env _
debug1: Sending command: id
debug2: channel 0: request exec confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
Абсолютно идентичное действие при подключении к тому же серверу с другого хоста срабатывает. При том дистр и версии OpenSSH везде одинаковые.
Debian wheezy amd64
OpenSSH версии 6.0p1-2
Путём гугления вышел на нечто бородатое: SSH hangs when executing command remotely
Seems that with -t or -T option, ssh does not hang
При использования ключа -t сессия действительно всегда завершается успешно, однако такой вариант «лечения» как-то не очень годится, как минимум все логи засрутся входами с tty.