Подключение к одному из моих серверов с использованием ssh требует более 20 секунд для инициации.
Это не относится к условиям LAN или WAN, так как соединение с самим собой происходит одинаково (ssh localhost). После того, как соединение наконец установлено, это очень быстро взаимодействует с сервером.
Использование -vvv показывает, что соединение застряло после произнесения «залог: сеть». На этом этапе аутентификация (здесь с использованием ключа) уже выполнена, как видно здесь:
...
debug1: Authentication succeeded (publickey).
Authenticated to myserver.mydomain.com ([xx.xx.xx.xx]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
(... застрял здесь на 15-25 секунд ...)
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
...
Сервер Ubuntu 16.04. Это уже случалось со мной в прошлом на другом сервере (был Ubuntu 12.04), Nerver нашел решение, и проблема исчезла через некоторое время ...
sshd_config - это стандартная версия, предоставляемая Ubuntu.
Пока что я попробовал:
- используя -o GSSAPIAuthentication = no в команде ssh
- используя пароль вместо ключа
- использование UsePrivilegeSeparation no вместо yes в sshd_config
systemctl restart systemd-logind
исправляет проблему только на короткий промежуток времени для меня.pam_systemd(sshd:session): Failed to create session: Connection timed out
как упомянуто в ответе, это может быть github.com/systemd/systemd/issues/2925Ответы:
Это, вероятно, проблема с
D-Bus
иsystemd
. Еслиdbus
служба по какой-либо причине была перезапущена, вам также потребуется перезапустить ееsystemd-logind
.Вы можете проверить, является ли это проблемой, открыв журнал демона ssh (в Ubuntu это должно быть
/var/log/auth.log
) и проверить, есть ли в нем следующие строки:Если да, просто перезапустите
systemd-logind
сервис:У меня была такая же проблема в CentOS 7, потому что
messagebus
была перезапущена (так называетсяD-Bus
служба в CentOS).источник
polkit
сервис, используяsystemctl restart polkit
.нашел ответ:
изменил UsePAM с да на нет в файле sshd_config
После перезапуска службы ssh соединение теперь происходит непосредственно с сервером. На этом сервере PAM связан с ldap, поэтому, возможно, это и есть причина, даже если здесь я подключаюсь к пользователю, объявленному на самом сервере, а не к LDAP.
Что ж, это скорее способ обойти проблему, а не решение ... У меня другие серверы настроены так же, как и эта проблема.
Надеюсь, что это может помочь кому-то ...
источник
Это произошло на двух из моих серверов Fedora 25 и было связано с множеством неудачных попыток входа по SSH.
(Общие предложения по использованию
GSSAPIAuthentication=no
и /UseDNS=no
или перезапускуsystemd-logind
не имели значения.)На этих серверах
/etc/pam.d/postlogin
содержится:Страница man для
pam_lastlog
объясняет, чтоshowfailed
опция будет:На этих серверах
/var/log/btmp
файлы были огромными из-за многих неудачных попыток входа в систему. Вbtmp
лог - файлы не были повернуты либо.Я установил
logrotate
пакет, чтобы гарантировать, что файлы журнала будут вращаться в будущем. (На Fedora конфигурация, которая поставляется с,logrotate
обрабатывает вращение/var/log/btmp
.)Я также удалил огромные
btmp
файлы журнала; Как только я это сделал, подключение к серверам снова стало мгновенным.источник
sudo truncate -s 0 /var/log/btmp
- У меня был 2,7G в размерах.В моем случае причиной был сбой rsyslogd. Я узнал об этом, потому что больше не было сообщений журнала, например, в / var / log / syslog или /var/log/mail.log
Так что
service rsyslog restart
решили проблему для нас.источник
Для меня эта проблема вызвана большим (сотни МБ)
btmp
файлом. Этот файл регистрирует попытки входа в систему. Когда люди пытаются взломать ваш пароль, этот файл может иметь большой размер и вызывать задержки на"pledge: network"
этапе.Попробуйте очистить файл журнала
echo "" > /var/log/btmp
и посмотрим, поможет ли это.
источник
:> /var/log/btmp
делает то же самое кстати.Для меня решение было добавить
к ,
/etc/ssh/sshd_config
а затем, конечноservice ssh restart
(на нашем сервере Debian / Jessie). Ничего больше...до :
после :
источник
UseDNS no
- это решение совершенно другой проблемы.sign_and_send_pubkey
, более длинный послеpledge: network
. Добавление толькоUseDNS no
с последующимservice ssh restart
разрешило проблему на старой установке Ubuntu 14.04.5 LTS здесь.Я заметил следующую строку в моем отладочном отзыве:
Который был файлом, которым владел
root:root
пока яjenkins
. Удаление этого файла решило мои проблемы.источник