1

Когда я пытаюсь подключиться к конкретному компьютеру / компьютерам из списка, команда SSH зависает. Я попытался установить время ожидания SSH. Но затем он останавливается даже после истечения времени ожидания.

В подробном режиме:

OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to x358.x.server.com [10.x.x.x] port 22.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /export/home/sqlrpt/.ssh/identity type -1
debug1: identity file /export/home/sqlrpt/.ssh/id_rsa type -1
debug1: identity file /export/home/sqlrpt/.ssh/id_dsa type 2

В этот момент он замерзает.

Я думал, что обходной путь - создать дочерний процесс для каждого вызова ssh, а если процесс не отвечает после истечения времени ожидания - убить его. Но есть ли какие-нибудь менее сложные способы, чтобы я мог разместить его в самом сценарии оболочки, а не в программе на C/C++?

4 ответа4

2
ssh -2 -o ConnectTimeout=5

Это добилось цели. Это больше не застревает

0

У меня была такая же раздражающая проблема с openSuse 11.4 (x86_64) (ядро 2.6.37.6-24-рабочий стол), SSH-версия: OpenSSH_5.8p1, OpenSSL 1.0.0c 2 декабря 2010.

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

Сделал трюк и проблема теперь решена.

0

Я думаю, что проблема с интернетом хозяина.Это случилось со мной несколько раз.Прямо перед тем, как ssh выключит и снова включит интернет.

0

возможно, вы нашли эту ошибку https://bugzilla.redhat.com/show_bug.cgi?id=143316
он был продублирован здесь https://bugzilla.redhat.com/show_bug.cgi?id=133884 , и для этого есть обходной путь

echo 0 > /proc/sys/net/ipv4/tcp_default_win_scale

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .