5. Проблемы.

Содержание этой главы

Если вы хотите опубликовать bug report[сообщение об ошибке], отправьте письмо по адресу ssh-bugs@clinet.fi содержащее следующее:

Вы также должны попытаться проапгрейдить ssh любо до последней версии 1.2.x, либо 2.x если используете старую версию.

5.1 "ssh otherhost xclient &" не работает!

Нет, этого не может быть. Используйте вместо этого "ssh -f otherhost xclient", или "ssh -n otherhost xclient &" для совместимости с rsh.

5.2 Ssh сбоит в Solaris, вылетая с сообщением "Resource temporarily unavailable".

Что касается Solaris 2.4, это ошибки ядра. Получите и установите patch 101945-37 для предотвращения этой ошибки в дальнейшем. Заметьте, что в более ранних версиях 101945-36, кажется предотвращает эту ошибку.

Если вы обнаружили подобные проблемы в Solaris 2.5.1, просто установите более свежую версию ssh - 1.2.14 или еще свежее, это должно решить ваши проблемы.

5.3 Sshd зависает в Solaris 2.5!

Это проблемы кода разделяемой библиотеки Solaris, точнее отдельных функций nameserver'а.

Получите и установите патч 103187-02 (for x86, 103188-02) для решения этой проблемы. Данная проблема возможна решена в Solaris 2.5.1.

5.4 Перенаправление X11 не работает в случае выполнения SCO-binary под Linux в режиме iBCS2 эмуляции.

Для решения этой проблемы установите hostname в полной FQDN форме: hostname=name.domain. В некоторых дистрибутивах Linux в качестве hostname устанавливается только локальное имя машины.

5.5 Ssh не работает или ошибается в случае multi-homed hosts!

Проверьте возвращает ли gethostbyname() список возможных ip-address или только один адрес.(такое возможно например в случае, NIS/NIS+, когда в конфигурации системы задан поиск где первым стоит просмотр /etc/hosts в котором указан лишь один из возможных ip-addresses).

5.6 Userid swapping обрывается в AIX!

Это ошибка в AIX 3.2.5, о ней сообщено в APAR IX38941, и выпущены исправления U435001, U427862, U426915, и несколько других. Для детального ознакомления свяжитесь с вашим представительством IBM.

5.7 ssh-keygen вываливает в core под Alpha OSF!

В случае Alpha OSF/1 1.3.2, это ошибка родного компилятора при использовании с максимальной оптимизацией.

Отключите всю оптимизацию для ssh-keygen, или используйте gcc. Заметьте что Gcc 2.7.2 имеет проблемы на Alpha и тем не менее.

5.8 ssh-keygen вываливает в core под Solaris или SunOS.

Это ошибка gcc gcc 2.7.0, производящего неверный код при компиляции без оптимизации. Используйте "-O" или "-O -g" опции для gcc или замените старый gcc на gcc 2.7.2 или более свежий.

5.9 В Linux, компиляция прерывается с сообщениями об ошибках связанных с библиотекой libc.so.4.

Это некорректно сконфигурированная OS Linux; сделайте следующее "cd /usr/lib; ln -s libc.sa libg.sa" из под "root" экаунта чтобы исправить.

5.10 X authorization иногда терпит крах[иными словами не проходит].

Это обнаруженная ошибка в HP-UX 9 xauth, SR 5003209619. Патч PHSS_5568 должен решить эту проблему.

5.11 Ssh требует ввести пароль несмотря на наличие на удаленной машине файла .rhosts!

Существует несколько возможных вариантов; рассмотрим общие, включающие другие:

5.12 Почему ssh зацикливается с сообщением "Secure connection refused"?

Это конфигурационная проблема.

Ssh пытается вернуться к методу "r" команд когда не может соединиться с sshd демоном удаленной машины и в результате пытается запустить старый rsh для использования старого протокола.

Существуют всего два предположения почему это происходит:

Для плохо понимающих, в последнем варианте учитывается что путь в бинарнике имеет конкретную длинну, те чревато заменять например /usr/bin/rlogin на /usr/local/old/rlogin.

5.13 ssh-agent не работает с эмулятором терминала rxvt!

"Очень умный rxvt" закрывает все файловые дескрипторы при запуске, включая и тот который использовал ssh-agent. ;-) Используйте xterm вместо rxvt или поищите в архиве http://www.cs.hut.fi/ssh/ssh-archive/ ссылку на правку в rxvt сделанную Timo Rinne.

5.14 X authorization ВСЕГДА завершается неудачно.

Это происходит по той причине что программа "xauth" НЕ БЫЛА найдена во время конфигурации. Поправьте path, переконфигурируйте и перекомпилируйте ssh.

Это также могло произойти при сборке ssh с --with-libwrap и необходимая sshdfwd-X11: строка отсутствует в файле /etc/hosts.allow те в файле не указан host с которого разрешено заходить.

5.15 ssh зависает когда перенаправляет много TCP соединений.

Это известные скоростные проблемы в ssh протоколе до версии 1.2.13.

Некоторые изменения были сделаны в протоколе версии 1.2.14 чтобы избежать этого, но проблема межде версией 1.2.14 и более ранними осталась. Установите более свежие версии ssh, желательно последние и с обоих сторон.

5.16 Что означает сообщение, "Warning: remote host denied X11 forwarding"?

Либо с удаленной стороны запрещено перенаправление X11 (ForwardX11 No в config файле) или при сборке не были найдены X11 библиотеки или команда xauth.

5.17 Я продолжаю наблюдать чистые[некриптованные] пакеты в сети хотя работаю под ssh!

Это очень замечательно что вы следите за telnet, rlogin или X session на той машине где вы запустили ssh. Однако вы уверены что это действительно пакеты ssh? (к примеру проверьте номера их портов; sshd слушает 22-ой порт по умолчанию).

5.18 Возникают проблемы с RSAREF, иногда используется очень много бит!

Это ограничения библиотеки RSAREF. Вы должны установить "host key" не больше чем 896, максимально возможное значение приветствуется.

5.19 Компиляция завершается с сообщениями об ошибках от ассемблера.

В некоторых операционных системах имеются ошибки в подпрограмме ассемблера gmp. Попробуйте make distclean configure --disable-asm для компиляции.

5.20 Ssh не компилируется под Solaris 2.5!

Перед запуском "configure" установите переменную среды CPP в "cc -E -Xs".

5.21 Ssh неожиданно сбрасывает соединения!

Эта проблема была обнаружена разными людьми на разных платформах SunOS 4, Solaris 2, Linux, and HP-UX 9 and 10, с версиями ssh 1.2.16 и 1.2.17. Она происходит с scp когда передается больщое количество данных через ssh stdin или при перенаправлении через X большого количества графических данных (например MPEG movie).

Попробуйте применить следующие правки к 1.2.16 or 1.2.17 for a fix. Это исправлено в 1.2.18 и позже. --- serverloop.c.orig   Tue Jan 21 14:38:25 1997 +++ serverloop.c.       Tue Jan 21 14:37:54 1997 @@ -405,7 +405,7 @@                   buffer_len(&amp;stdin_buffer));        if (len <= 0)         { -         if (errno != EWOULDBLOCK) +         if ((errno != EWOULDBLOCK) &amp;&amp; (errno != EAGAIN))             {               if (fdin == fdout)                 shutdown(fdin, 1); /* We will no longer send. */

5.22 Ssh соединения перенаправляются от "root"-а!

Когда клиент соединяется, sshd фокует[запускает особым образом] дочерний процесс для управления протоколом, запущенный _дочерний_ процесс в свою очередь запускает еще одного потомка для выполнения пользовательского shell или команд. Проблема в том что вызов setuid() корректно запускает только второго потомка, а первый вынужден оставаться запущенным как root.

Среди других потенциальных проблем, такая как перенаправление соединений через -Lx:host:port будет выполнять соединение "host:port" от "root uid", с того моммента как first дочерний процесс стартует. А это означает что когда заданный компьютер попытается идентифицировать от какого пользователя идет запрос, он получит что от "root", вместо реального пользовательского uid.

Это ситуация продолжает оставаться известной как "ошибка", и неизвестно будет ли данная технологическая проблема исправлена в следующих реализациях.
 

5.23 Где можно найти правки[patches] для ssh?

James Barlow  управляет хранилищем правок для ssh:

http://www.ncsa.uiuc.edu/General/CC/ssh/patch_repository/

Его комментарии:

"Я выложил правки сделанные нами, плюс которые были _постированы_ в конференции и несколько мне неизвестных. Имеется страница с описание этих правок, но если у кого то имееются дополнительные сведения дайте мне знать. Большинство правок относится к версии 1.2.x, но я с успехом использовал многие для 2.0.x."


Следующая Глава, Предыдущая Глава

Содержание этой главы, Общее Содержание

В начало документа, В начало этой главы