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

Как остановить мой ssh-туннель, когда он работает в фоновом режиме?

Я использую эту команду ssh:

ssh -fnN -L $LOCALPORT:$REMOTEHOST:$REMOTEPORT $HOST

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

Мне нужно остановить это ssh-соединение, когда это будет сделано, и я не знаю, как это сделать.

Найти PID с ps команду и отправьте ей сигнал QUIT с kill команда.

Найти PID с участием:

ps -o pid,cmd | grep ssh

Отправить QUIT сигнал с:

kill -QUIT <pid>

Лучшее решение, которое я нашел, - убить все туннели:

ps -o pid,cmd|grep "ssh -L"|grep -v grep|awk '{print $1}'|xargs kill