Я на OS X пытаюсь SSH на сервере Ubuntu 12.04. Я был в состоянии SSH в - пока внезапно вещи не перестали работать. Я читал в Интернете, чтобы использовать -v
для отладки. Вывод показан ниже. Если я ssh в другой ящик, а затем ssh из этого ящика на сервер, я могу войти в систему. Я не знаю, как отладить эту проблему, но хотел бы узнать.
$ ssh -v me@server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug1: Connecting to server [IP] port 22.
debug1: Connection established.
debug1: identity file /Users/me/.ssh/id_rsa type 1
debug1: identity file /Users/me/.ssh/id_rsa-cert type -1
debug1: identity file /Users/me/.ssh/id_dsa type -1
debug1: identity file /Users/me/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: read: Connection reset by peer
До сих пор (по совету досок объявлений) я искал файл отказа хостов - но на моей машине такого файла нет.
$ cat /etc/hosts.deny
cat: /etc/hosts.deny: No such file or directory
У меня есть доступ администратора на клиентском компьютере, но не на сервере.
sshd
прослушивание на альтернативном порте с подробным выводом и предоставить вывод при попытке подключения к нему.$(which sshd) -d -p 23
, Если у вас нет возможности сделать это, ваши возможности довольно ограничены. Лучше всего получить кого-то, кто имеет права администратора на сервере.Ответы:
Резкое изменение может быть результатом изменения файла конфигурации в
sshd
конфигурации серверов , но вы указываете, что не можете проверить или изменить это без права администратора. Вы все еще можете попробовать следующее, если администраторы сервера не могут быть достигнуты (вовремя).В вашем журнале указывается только строка локальной версии, вам следует проверить версии
sshd
запущенных на сервере и на промежуточном компьютере.Если эти версии отличаются (особенно между локальным компьютером и сервером и менее между промежуточной машиной и сервером) там может быть некоторые переговоры несовместимость, это уже случалось раньше в
ssh
. Раньше решением было сократить количество записей Ciphers, HostKeyAlgorithms и / или MAC-адресов, либо в командной строке (ssh -c aes256-ctr
и т. Д.) , Либо в вашей/etc/ssh/ssh_config
.Вы должны посмотреть в отладочной информации (от подключения через промежуточное соединение к серверу) соответствующие значения в качестве аргумента для командной строки
-c
/Ciphers
,-o HostKeyAlgorithms
/HostKeyAlgorithms
и-m
/MACs
соответственно. изменения ssh_config.У меня не было этой проблемы некоторое время, но когда мне это удалось, IIRC было достаточно, чтобы вручную настроить параметр Ciphers и HostKeyAlgorithms, после чего я мог обновить
sshd
версию сервера, и проблема исчезла.источник
sshd
пакет был обновлен до более новой версии, что привело к несовместимости с моей текущейssh
конфигурацией клиента, как вы сказали. Очистка моих старыхssh
файлов конфигурации сделала свое дело. Это должен быть принятый ответ.Возможно, вы были забанены
fail2ban
илиdenyhosts
. В таком случае (а также чтобы проверить это), если вы не хотите беспокоиться о помощи поставщика вашего сервера, вам необходимо войти на свой сервер с другого IP-адреса: например, с другого сервера, домашнего соединения друга или Wi-Fi горячая точка или использование SSH с TOR.После входа убедитесь, что ваш IP-адрес действительно отображается в
/etc/hosts.deny
(на стороне сервера). Если так, тоfail2ban
илиdenyhosts
действительно должен быть виновником.См. Ответы на этот вопрос, чтобы узнать, как предотвратить постоянную
denyhosts
блокировку вашего адреса. Для того, чтобыfail2ban
найти свой ip сiptables -L --line-number
и отменить запретiptables -D <chain> <chain number>
на ip , проверьте подробности о howtoforge .Вы можете добавить свой IP-адрес
fail2ban
иdenyhosts
белый список (соответственно/etc/fail2ban/jail.conf
, строкуignoreip
и/var/lib/denyhosts/allowed-hosts
, при необходимости, создать его (но помните, что путь может отличаться в вашем дистрибутиве)), чтобы предотвратить повторение проблемы.источник
На хост-сервере удалите ssh pub.key, расположенный здесь:
~/.ssh/authorized_keys
для вашего Mac. Затем,tail -f /var/log/auth.log
пока вы открываете другой терминал и снова пытаетесь выполнить sshssh -v me@server
. Если у вас запросили пароль, значит, проблема с вашим ключом ssh. Если вы все еще видите ответ «ssh_exchange_identification: read: Connection reset by peer», то вы сможете определить причину проблемы из записи журнала в файле «/var/log/auth.log» после неудачной попытки. чтобы залогиниться.Если вам все еще не удалось подключиться, опубликуйте запись из файла аутентификации здесь, и я пересмотрю свой ответ.
источник
Это может произойти, если у вас есть несколько машин в сети с одним и тем же MAC-адресом (например, если вы делаете копию виртуальной машины и забыли сменить MAC).
источник
Я получил это из-за имен серверов моего интернет-провайдера
/etc/resolv.conf
. Эти серверы имен часто перегружены, и в случае сбоя обратного просмотра DNS соединениеsshd
будет разорвано. Я решил проблему с помощью более надежных серверов имен, например8.8.8.8
.источник
Я столкнулся с той же проблемой. Я бы успешно открыл сессию SSH, но через некоторое время он был бы сброшен. Когда я сразу пытался подключить усиление, я получал ошибку «Соединение отказано». когда я отлаживал сеанс, я получил это сообщение в то время, когда соединение сбрасывалось
В этот момент я понял, что в сети возник конфликт IP-адресов. Я перешел на другой адрес и проблема была решена
источник
Ваш журнал означает, что на стороне сервера разрывается соединение. Чтобы выяснить причину, вы должны обратиться к журналам на стороне сервера, в них должна быть указана причина отключения. Вы почти всегда сможете найти логи в / var / log / messages
Я мог предположить, что, поскольку соединение разорвалось сразу после того, как клиент отправил номер версии, сервер каким-то образом объявил клиента несовместимым
источник
У меня была та же проблема, но оказалось, что причина была в другом: я использовал неправильный порт.
На более новых версиях
ssh
приведена ошибкаConnection refused
илиBad port
.В более старых версиях приведена ошибка
ssh_exchange_identification: read: Connection reset by peer
Поэтому, когда вы получаете такую ошибку, проверьте правильность порта.
источник
Я знаю, что этот вопрос старый, но я хотел поделиться некоторыми результатами, которые у меня были. Проверьте, есть ли
/var/empty/sshd
на сервере соответствующие владельцы и разрешения.У нас был сценарий chef, который был изменен для обновления некоторых разрешений каталога, но случайно обновил каталог ниже предполагаемой цели, изменив владельца / var на пользователя / группу приложения и изменив разрешения на 775.
источник
Поскольку это не было явно упомянуто в ответе, эта ошибка может появиться и в другом случае, если сетевой межсетевой экран между вами и сервером решил заблокировать соединение. Брандмауэр мог решить, что было слишком много подключений с IP-адреса системы OS X, и начал блокировать его. Еще не было «слишком много» подключений из другой системы, и это было разрешено.
Последнее сообщение, которое вы получили от сервера, - это сообщение, которое появляется еще до того, как вы начнете попытки аутентификации, что исключает большой класс возможностей, связанных с вашей учетной записью, ключом или паролем.
Примерами таких политик грубой силы из случайной выборки поставщиков являются:
источник