Если вы хотите опубликовать bug report[сообщение об ошибке], отправьте письмо
по адресу ssh-bugs@clinet.fi
содержащее следующее:
Номер версии ssh и если отличаются - sshd
Что вы обнаружили в действиях ssh
Что ssh выполнил вместо положенного(включая сообщения обо всех ошибках)
Какую систему вы используете (например, вывод от uname -a), и вывод config.guess.
В случае проблем при компиляции, содержимое файла config.log
(сгенерированного посредством configure)
Какой компилятор вы использовали и все флаги компиляции
Вывод произведенный от ssh -v
Вывод от sshd daemon запущенного в отладочном режиме, как sshd -d
Вы также должны попытаться проапгрейдить 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!
Существует несколько возможных вариантов; рассмотрим общие, включающие другие:
"host key" клиента не содержится в файле "known_hosts". Это характерно лишь
для FQDN формы, а точнее для канонического имени машины из DNS.
Клиент host не имеет реверса в DNS. SSH требует наличия как прямой, так и
обратной записи, для проверки естественно.
Когда в DNS отражены не все ip-address принадлежащие multi-homed клиенту, host.
Заметим что ssh версии по 1.2.12 имеют ошибки в плане разбора multi-homed hosts.
Домашняя директория пользователя или файл ~/.rhosts имеют разрешение
на запись для "world" или "group".(см. StrictModes опции конфигурации сервера)
По русски это будет - "а шо вы хотели".
На некоторых машин, если домашняя директория монтируется по NFS, желательно
чтобы и директория и ~/.rhosts были доступны для "world" на чтение.
Сам "root" использует ~/.rhosts или ~/.shosts; ну и ему
нет дела до /etc/shosts.equiv и /etc/hosts.equiv, так
попросите чтобы "root" их посмотрел.
Неразбериха между RhostsRSAAuthentication и RSAAuthentication.
RhostsRSAAuthentication функционально заменяет 'r' утилиты; это требует
чтобы программа ssh имела "setuid root", "secret key" в /etc/host_key файле, соответствующий "public key" в /etc/ssh_known_hosts и
запись в ~/.[sr]hosts или /etc/[s]hosts.equiv.
RSAAuthentication выполняется на уровне пользователя и требует наличия ~/.ssh/identity со стороны клиента(сгенерированного ssh-keygen) и файла
~/.ssh/authorized_keys со стороны сервера.
5.12 Почему ssh зацикливается с сообщением "Secure connection refused"?
Это конфигурационная проблема.
Ssh пытается вернуться к методу "r" команд когда не может соединиться с
sshd демоном удаленной машины и в результате пытается запустить старый rsh для
использования старого протокола.
Существуют всего два предположения почему это происходит:
Возможно вы установили ssh как rsh и забыли задать опцию при конфигурировании
--with-rsh=PATH и в результате поисков rsh, ssh находит вместо него
себя и снова запускает. Просто перекомпилируйте ssh с учетом сказанного.
Вы переместили старые rsh и rlogin в другую директорию, отличную от оригинального
места расположения, но при этом вызов осуществляете корректно, те из того места
куда положили. Но при этом не учли что старый исполняемый модуль rsh содержит в
своем теле жестко-привязанный путь к rlogin.
В этом случае вы можете перенести старые бинарники rsh и rlogin в /usr/old, отпатчить их с запустив Perl скрипт
perl -pi.orig -e 's+/usr/(bin|ucb)/rlogin+/usr/old/rlogin+g ;' /usr/old/rsh
который поправит двоичные модули и положит их в /usr/old/rsh.orig.
И теперь осталось переконфигурировать ssh с --with-rsh=/usr/old/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(&stdin_buffer));
if (len <= 0)
{
- if (errno != EWOULDBLOCK)
+ if ((errno != EWOULDBLOCK) && (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.
Это ситуация продолжает оставаться известной как "ошибка", и неизвестно
будет ли данная технологическая проблема исправлена в следующих реализациях.
"Я выложил правки сделанные нами, плюс которые были _постированы_
в конференции и несколько мне неизвестных. Имеется страница с описание этих
правок, но если у кого то имееются дополнительные сведения дайте мне знать.
Большинство правок относится к версии 1.2.x, но я с успехом использовал многие
для 2.0.x."