Я пытался выяснить, почему у меня были странные соединения в моем защищенном файле журнала. Что-то вроде этого :
Apr 23 11:35:43 li192-61 sshd[11651]: Did not receive identification string from 127.0.0.1
Apr 23 11:35:49 li192-61 sshd[11661]: Connection closed by UNKNOWN
У меня было много таких связей, каждую минуту. Так что я использовал netstat
команда как netstat -ta --numeric-ports --program | grep 22
чтобы получить больше информации. Получил (я удалил собственное ssh-соединение):
tcp 0 0 localhost:56145 localhost:22 TIME_WAIT -
Затем я попытался найти, какой из них использует этот порт, поэтому я использовал lsof -i :22
и у меня нет ничего, кроме моей собственной связи.
После того, как я запустил netstat
снова команда, я получил это:
tcp 0 0 localhost:45979 localhost:22 TIME_WAIT -
Новый порт используется в качестве удаленного пункта назначения с localhost через порт 22. Каждую минуту одно и то же.
У меня сейчас больше нет идей. Итак, мой вопрос:
Есть ли способ получить все процессы, использующие ssh-соединение, или получить все процессы, которые пытаются подключиться к определенному порту (например, 45979)?
Спасибо за уделенное время !
Сопоставьте идентификаторы процессов всех этих попыток фиктивного подключения с теми, которые вы используете сами; идентификатор процесса вашего собственного соединения не должен меняться.
Если это так, некоторые настройки заставляют ваше соединение повторно подключаться снова и снова (это возможно в SSH без потери связи).
Если вы посмотрите на заголовки netstat:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
Вы увидите, что верхний «случайный» порт - это локальный адрес. Программе, установившей исходящее соединение, требуется порт, на котором можно получать ответы от удаленного сервера. Для этого он получает порт в высоком диапазоне.
Вы видите соединения SSH от локального приложения / скрипта к локальному хосту.
Однако, похоже, что соединение не может быть установлено по какой-то причине. Приложение не аутентифицируется должным образом.
Таким образом, вы ищете не приложение, которое подключается к порту 45979, а приложение, которое подключается к порту 22 на локальном хосте. Скорее всего просто ssh localhost
.
Проверьте время, в которое выполняются соединения, затем проверьте расписание и / или журналы cron на это время.
Здесь есть пост что предполагает, что такого рода вещи возникают, когда у вас есть два конкурирующих процесса sshd, пытающихся привязаться к одному и тому же порту.
Вы можете получить локальную консоль и запустить service sshd stop
а затем проверьте ps -ef | grep sshd
для любых мошеннических серверов sshd, которые не находятся под контролем служебной оболочки.