Сегодня я вошел на свой сервер, и теперь, когда я перехожу на SSH, я получаю сообщение об ошибке «SSH-соединение отклонено» Я использую Ubuntu Hardy. Сервер все еще работает, и я не могу зайти, обслуживая веб-страницы. В прошлый раз, когда я был на сервере, я не менял ни один из iptables. Есть ли способ устранить эту проблему? Обновление: у меня есть доступ к консоли на основе браузера на сервере. Хотя это мучительно медленно, я могу продолжить расследование.
Обновление: похоже, что ssh не работает на моем порту, когда я использую lsof. Я побежал sudo /etc/init.d/ssh перезапуск и ничего не происходит, и все еще ничего не работает на моем ssh-порту. Когда я проверяю /var/log/auth.log, я получаю:
sudo: pam_unix(sudo:session): session opened for xxxx root by yyyy(uid=0)
sudo: pam_unix(sudo:session): session closed for user xxxx by yyyy(uid=0)
который выглядит так, как будто он открывается, а затем сразу закрывает сеанс.
Я бы предложил следующее в дополнение к уже имеющимся ответам. Убедитесь, что у вас есть способ восстановить брандмауэр после тщательной проверки его набора правил.
Отказ от ответственности: если это устройство подключено к Интернету, это приведет к отключению всей защиты брандмауэра со всех интерфейсов и может привести к тому, что ваш ящик станет владельцем.
# iptables --flush
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# /etc/init.d/openssh-server restart
Затем повторите попытку подключения через ssh, если это не удалось, проверьте /var/log/auth.log.
Вы также можете использовать
# lsof -i TCP:22
чтобы узнать, открыт ли порт ssh и какой IP-адрес он прослушивает.
edit: re: update, который, похоже, не связан с ssh (похоже, это связано с повышением привилегий sudo.
попробуйте tail -f /var/log/auth.log при попытке подключиться через ssh.
Отказ в соединении означает, что соединение было явно отклонено брандмауэром или самим демоном.
Нормальное соединение будет выглядеть примерно так:
Mar 23 13:32:32 <hostname> sshd[20100]: Accepted password for <user> from xxx.xxx.xxx.xxx port xxxxx ssh2
Mar 23 13:32:32 <hostname> sshd[20102]: (pam_unix) session opened for user <user> by (uid=0)
При этом сбой аутентификации будет выглядеть так:
Mar 23 13:35:54 <hostname> sshd[20177]: Failed password for <user> from xxx.xxx.xxx.xxx port xxxxx ssh2
Если он был заблокирован sshd по какой-то причине, это будет ускользать от журнала аутентификации, если он был заблокирован брандмауэром (обратите внимание, что брандмауэр может быть на хосте, клиенте или где-то посередине), вы ничего не увидите.
Вернитесь к нам, если это так, оттуда будет дамп tcp на клиенте, сервере и любых промежуточных маршрутизаторах.
Что ж, может случиться так, что сервер ssh не работает по какой-либо причине - один из способов проверить это с помощью netcat - netcat должен дать какой-то ответ. Я бы также попробовал с другого IP-адреса, чтобы быть в безопасности.
Взгляните на свой файл hosts.deny! Может, ваш IP каким-то образом попал туда.
Проверьте файл / var / log / syslog, в нем должна быть дополнительная информация о том, почему демон ssh не может запуститься, просто проверив, что на вашем компьютере не запущен демон ssh зомби, который может вызвать у вас некоторые проблемы (проверьте вывод ps -ef | grep ssh
)?
Консольный доступ -> Проверить логи для SSHd -> Исправить.