Завершение сеансов SSH

Мои сеансы SSH, кажется, падают, хотя это не моя главная проблема. Основная проблема заключается в том, что мои предыдущие сеансы все еще живы, а еще хуже, но один из них работает visudo препятствуя мне получить доступ к нему!

who показывает несколько сеансов, кроме моего текущего, который, как я знаю, отключен, как я могу закончить старые, чтобы освободить их ресурсы?

  • Автоматически инициировать исходящее SSH-соединение на сервере при подключении клиента
  • Запретить доступ к SSH через IP-адрес сервера
  • Почему все мои попытки SSH терпят неудачу из-за таймаута?
  • Сервер OpenSSH как скрытая служба Tor
  • Настройка ssh для сеанса linux to solaris
  • Не удается выполнить SCP, несмотря на то, что SSH работает нормально
  • легкое решение для резервного копирования на основе диска
  • Выход Capture (sdout / stderr) отправителя SSH-порта
  • 2 Solutions collect form web for “Завершение сеансов SSH”

    Чтобы решить ближайшую проблему, файл sudoers заблокирован, вы можете просто удалить файл блокировки. Обычно это будет `/etc/sudoers.tmp ', проверьте контрольную страницу для visudo для проверки. Если вы удалите файл блокировки, вы можете снова запустить visudo.

    Чтобы удалить все сеансы, которые все еще остаются висящими, сначала найдите pid вашего текущего сеанса. Затем, если ваш собственный pid равен 12345, сделайте

     ps -ef | grep sshd | grep -v root | grep -v 12345 | grep -v grep | awk '{print "sudo kill -9", $2}' |sh 

    Вы можете сделать это без финального | sh | sh сначала просто проверить PID, которые вы планируете убить.

    Если вы работаете в Linux, вы можете вместо этого использовать

     pkill -o -u YOURUSERNAME sshd 

    чтобы убить ваш самый старый сеанс SSH. Продолжайте делать это, пока ваш текущий сеанс не останется единственным.

    Вы также можете установить ServerAliveInterval 15 в свой .ssh/config для отправки сообщения keepalive каждые 15 секунд, когда данные не были отправлены. man ssh_config для получения дополнительной информации.

    Если вы перечислите процессы так, чтобы вы увидели их команду и аргументы (например, ps -f из procps), вы должны увидеть процессы sshd, например:

     sshd: user@pts/7 

    Терминал ( pts/7 ) является ключевой частью здесь – если вы сравните его с вашим текущим терминалом ( tty ), вы увидите, какой из них является активным сеансом. Конечно, есть и другие способы сделать это (например, посмотреть на PID текущей запущенной оболочки и найти ее в дереве процессов), но это, пожалуй, самый простой. Затем вы можете использовать что-то в этом направлении:

     # current tty name TTY=$(tty | cut -f3- -d/) # PIDs of other sshd processes ps -o pid= -o command= -C sshd \ | grep sshd:.*@ \ | grep -v "@$TTY" \ | sed "s/ sshd.*//" 

    Затем вы можете xargs PID для уничтожения с помощью xargs но всегда убедитесь, что вы не убиваете основной процесс sshd который обрабатывает новые соединения .

    Следует иметь в виду, что в целом анализ разбора ps выводится с ошибкой (особенно в разных системах) из-за изменчивости его выходных форматов (здесь в значительной степени смягчается использование -o pid= -o command= ) ,

    Interesting Posts

    Разрешить пересылку IP-пакетов из локальной сети в модем через маршрутизатор

    Медленная загрузка с собственного сервера

    Использование gensub не заменяет соответствия

    GRUB: добавление записи для ОС на другом жестком диске

    Как удалить все из указанного «имени»,

    Как измерить тактовый импульс моего компьютера вручную?

    Где я должен устанавливать пакеты, созданные из источника, в качестве пользователя без полномочий root?

    Файл cat1 в файл2 после определенного соответствия шаблону

    Вывод на stdout и в то же время grep в файл

    Как разрешен трафик устройства loopback?

    Синтаксис синтаксиса подстановки команд в bash – какой из этих двух методов лучше?

    SFTP-сервер на RHEL6 отключается на ls

    Проверка работоспособности диска RAID, ubuntu 12.04 на Dell Power edge 1950 с контроллером SAS RAID

    Гука выдает ошибку при запуске

    Как узнать, что сделал автоматический выбор в выборе пакета

    Linux и Unix - лучшая ОС в мире.