Назад | Перейти на главную страницу

Невозможно войти на сервер через ssh-соединение

был подключен к серверу через ssh через порт 22 и решил убить всех пользователей, связанных с пользователем root, с помощью следующей команды:

pkill -9 -u root

Теперь, когда я пытаюсь войти в систему с помощью root@190.169.94.56, я получаю сообщение:

ssh: connect to host 190.169.94.56 port 22: Connection refused

Я убеждаюсь, что SSH действительно работает на порту 22. На сервере я запускаю:

 netstat -untap | grep 190.169.94.56
    (Not all processes could be identified, non-owned process info
    will not be shown, you would have to be root to see it all.)
    tcp        0      0 190.169.94.9:41267      190.169.94.56:22        ESTABLISHED 29673/ssh

Я сделал эхо-запрос на сервер 190.169.94.56 и правильно ответил:

ping 190.169.94.56
PING 190.169.94.56 (190.169.94.56) 56(84) bytes of data.
64 bytes from 190.169.94.56: icmp_seq=1 ttl=64 time=0.524 ms
64 bytes from 190.169.94.56: icmp_seq=2 ttl=64 time=0.454 ms
64 bytes from 190.169.94.56: icmp_seq=3 ttl=64 time=0.423 ms
64 bytes from 190.169.94.56: icmp_seq=4 ttl=64 time=0.419 ms
--- 190.169.94.56 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.419/0.455/0.524/0.042 ms

Я попытался изменить порт и получил тот же результат. Как я могу подключиться к нему снова? Если это важно, это машина Debian.

Чтобы проверить, работает ли он, вам нужно будет запустить netstat -tnpl | grep :22 и ps aux | grep sshd. SSHD сохраняет ваше соединение открытым, даже если вы его остановите, чтобы вы не потеряли контроль над сервером, если, например, допустили ошибку в sshd_config перед его перезапуском.

РЕДАКТИРОВАТЬ:

Признаюсь, я только сейчас увидел твою pkill -u root -9 команда. Это ОЧЕНЬ неправильно, и я бы посоветовал вам перезагрузить сервер, потому что вы убили важные системные процессы (например, демон журнала и так далее).

Есть два разных вида sshd которые работают в системе Linux: есть "главный" sshd, работающий как root, который прослушивает новые соединения, и есть sshd уровня пользователя, который запускается как идентификатор пользователя и который главный sshd разветвляется при установке соединения и пользователь аутентифицирован. С помощью команды pkill вы убили главный sshd, но не убили уже запущенный sshd пользовательского уровня. Чтобы исправить это, вы переключаете пользователя (su) на root на хосте, на котором вы запускали pkill, и выполняете следующее: service sshd restart

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

Вы должны проверить запущенные процессы с помощью команд @Florin Asavoiae на сервере, который отклоняет соединения, а затем использовать /etc/init.d/ssh start чтобы начать sshd.

Если вы можете создать новые SSH-подключения к 190.169.94.56 через промежуточный сервер, тогда возникает другая проблема, возможно, брандмауэр блокирует трафик.