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

Похоже, на моем сервере есть некоторые «затяжные» SSH-соединения. Как мне это исправить?

[root@server mike]# w
 14:43:35 up 83 days,  1:25,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
mike     pts/1    dsl-IP.w 14:43    0.00s  0.01s  0.03s sshd: mike [priv]

[root@server mike]# ps aux | grep ssh
root      1350  0.0  0.1   5276  1044 ?        Ss   Aug27   0:00 /usr/sbin/sshd
root     14328  0.0  0.2   8020  2580 ?        Ss   12:49   0:00 sshd: dave [priv]
dave   14332  0.0  0.1   8020  1532 ?        S    12:49   0:00 sshd: dave@notty
dave   14333  0.0  0.1   4696  1444 ?        Ss   12:49   0:00 /usr/lib/openssh/sftp-server
root     14344  0.0  0.2   8020  2580 ?        Ss   12:59   0:00 sshd: dave [priv]
dave   14347  0.0  0.1   8168  1564 ?        S    13:00   0:00 sshd: dave@notty
dave   14348  0.0  0.1   4700  1504 ?        Ss   13:00   0:00 /usr/lib/openssh/sftp-server
root     14351  0.0  0.2   8020  2580 ?        Ss   13:04   0:00 sshd: dave [priv]
dave   14355  0.0  0.1   8168  1560 ?        S    13:04   0:00 sshd: dave@notty
dave   14356  0.0  0.1   4696  1472 ?        Ss   13:04   0:00 /usr/lib/openssh/sftp-server
root     14373  0.0  0.2   8020  2584 ?        Ss   13:15   0:00 sshd: dave [priv]
dave   14377  0.0  0.1   8168  1560 ?        S    13:15   0:00 sshd: dave@notty
dave   14378  0.0  0.1   4704  1500 ?        Ss   13:15   0:00 /usr/lib/openssh/sftp-server
root     14385  0.0  0.2   8020  2584 ?        Ss   13:28   0:00 sshd: dave [priv]
dave   14389  0.0  0.1   8168  1592 ?        S    13:28   0:00 sshd: dave@notty
dave   14390  0.0  0.1   4696  1508 ?        Ss   13:28   0:00 /usr/lib/openssh/sftp-server
root     14392  0.0  0.2   8020  2588 ?        Ss   13:30   0:00 sshd: dave [priv]
dave   14396  0.0  0.1   8168  1604 ?        S    13:30   0:00 sshd: dave@notty
dave   14397  0.0  0.1   4696  1492 ?        Ss   13:30   0:00 /usr/lib/openssh/sftp-server
root     14402  0.0  0.2   8020  2584 ?        Ss   13:33   0:00 sshd: dave [priv]
dave   14406  0.0  0.1   8020  1536 ?        S    13:33   0:00 sshd: dave@notty
dave   14407  0.0  0.1   4696  1460 ?        Ss   13:33   0:00 /usr/lib/openssh/sftp-server
root     14428  0.0  0.2   8020  2584 ?        Ss   13:45   0:00 sshd: dave [priv]
dave   14432  0.0  0.1   8168  1580 ?        S    13:45   0:00 sshd: dave@notty
dave   14433  0.0  0.1   4704  1512 ?        Ss   13:45   0:00 /usr/lib/openssh/sftp-server
root     14439  0.0  0.2   8020  2580 ?        Ss   13:53   0:00 sshd: dave [priv]
dave   14443  0.0  0.1   8020  1532 ?        S    13:53   0:00 sshd: dave@notty
dave   14444  0.0  0.1   4696  1448 ?        Ss   13:53   0:00 /usr/lib/openssh/sftp-server
root     14480  0.0  0.2   8020  2584 ?        Ss   14:11   0:00 sshd: dave [priv]
dave   14484  0.0  0.1   8168  1588 ?        S    14:11   0:00 sshd: dave@notty
dave   14485  0.0  0.1   4704  1492 ?        Ss   14:11   0:00 /usr/lib/openssh/sftp-server
root     14487  0.0  0.2   8020  2580 ?        Ss   14:12   0:00 sshd: dave [priv]
dave   14490  0.0  0.1   8020  1552 ?        S    14:12   0:00 sshd: dave@notty
dave   14492  0.0  0.1   4696  1472 ?        Ss   14:12   0:00 /usr/lib/openssh/sftp-server
root     14510  0.0  0.2   8020  2584 ?        Ss   14:35   0:00 sshd: dave [priv]
dave   14514  0.0  0.1   8168  1568 ?        S    14:35   0:00 sshd: dave@notty
dave   14515  0.0  0.1   4700  1492 ?        Ss   14:35   0:00 /usr/lib/openssh/sftp-server
root     14517  0.0  0.2   8020  2580 ?        Ss   14:37   0:00 sshd: dave [priv]
dave   14521  0.0  0.1   8020  1548 ?        S    14:38   0:00 sshd: dave@notty
dave   14522  0.0  0.1   4696  1464 ?        Ss   14:38   0:00 /usr/lib/openssh/sftp-server
root     14538  0.0  0.2   8020  2620 ?        Ss   14:43   0:00 sshd: mike [priv]
mike     14542  0.0  0.1   8020  1560 ?        S    14:43   0:00 sshd: mike@pts/1
root     14554  0.0  0.0   1720   560 pts/1    S+   14:43   0:00 grep ssh

Как вы можете видеть выше, я, Майк, вошел в SSH, выполняя команды. Это видно из w команда.

Однако в настоящее время выполняется нечетное количество процессов, связанных с SSH. Я полагал dave's sftp-сессия может не отображаться в выводе w по какой-то причине, но это не объясняет все запущенные процессы ...

В чем дело? : /

Взгляните на настройки:

ClientAliveCountMax 3
ClientAliveInterval 15

в / etc / sysconfig / sshd_config. Это отключит клиентов, которые не отвечают на запросы keep-alive. Отрегулируйте значения, если они недостаточно агрессивны, это означает, что через 15 секунд мы отправим keep-alive. Если не получено ответа на 3 keep-alive, мы отключаем клиента (45 секунд).

Дэйв делает что-то глупое со своим sftp-клиентом.

в основном он не закрывается или держит открытый сеанс sftp с сохранением активности на неопределенный срок.

Один вход в sftp состоит из следующих процессов:


root     14480  0.0  0.2   8020  2584 ?        Ss   14:11   0:00 sshd: dave [priv]
dave   14484  0.0  0.1   8168  1588 ?        S    14:11   0:00 sshd: dave@notty
dave   14485  0.0  0.1   4704  1492 ?        Ss   14:11   0:00 /usr/lib/openssh/sftp-server

У вас есть процесс, принадлежащий корню sshd (это дочерний процесс самого sshd), процесс, принадлежащий dave, является непривилегированным соединением dave, а затем порождением sftp-сервера.

Все это выглядит так, как будто Дэйв подключался несколько раз или использует поточный клиент sftp.

pkill, как уже было предложено, позволит вам удалить все сеансы, используя, скажем, pkill sftp-server

Соединение sftp - это загрузка файла или нескольких файлов с использованием сегментированных загрузок. Я предполагаю, что если вы убьете процесс sftp, все sshd: dave@notty исчезнет.

Есть пакет procps. Он включает в себя различные полезные (читай изящные) утилиты. Одной из таких утилит является pkill, которая отвечает за отправку сигналов пользователям и обрабатывает такие как:

  • Остановить пользовательский терминал
  • Убить пользователя и выйти из системы

http://linux.die.net/man/1/pkill