Рейтинг:0

Как очистить локальный порт ssh для переадресации на удаленный?

флаг sd

Я использую ssh, перенаправляющий локальный порт на сервер-бастион (10.20.30.40), подключаюсь к удаленной базе данных RDS.

ssh -i ~/.ssh/id_rsa -f -N -L 5432:db1.cluster-1.region.rds.amazonaws.com:5432 10.20.30.40 -v
...
Аутентифицирован до 20.10.30.40 ([10.20.30.40]:22).
debug1: локальные подключения к LOCALHOST:5432 перенаправляются на удаленный адрес db1.cluster-1.region.amazonaws.com:5432
debug1: прослушивание локальной переадресации на ::1 порте 5432.
debug1: канал 0: новый [прослушиватель портов]
debug1: прослушивание локальной переадресации через порт 127.0.0.1 5432.
debug1: канал 1: новый [прослушиватель портов]
debug1: Запрос [email protected]
debug1: переход в фоновый режим
debug1: вход в интерактивный сеанс.
debug1: залог: сеть
debug1: client_input_global_request: rtype [email protected] want_reply 0

Будет использоваться 5432 на локальном порту. Если создать новую переадресацию

ssh -i ~/.ssh/id_rsa -f -N -L 5433:db1.cluster-1.region.rds.amazonaws.com:5432 10.20.30.40 -v

Будет использоваться порт 5433.

Если запустить 5432 в новом терминале, произойдет сбой, потому что он уже используется.

Аутентифицирован до 20.10.30.40 ([10.20.30.40]:22).
debug1: локальные подключения к LOCALHOST:5432 перенаправляются на удаленный адрес db1.cluster-1.region.rds.amazonaws.com:5432
debug1: прослушивание локальной переадресации на ::1 порте 5432.
bind [::1]:5432: Адрес уже используется
debug1: прослушивание локальной переадресации через порт 127.0.0.1 5432.
bind [127.0.0.1]:5432: адрес уже используется
channel_setup_fwd_listener_tcpip: невозможно прослушивать порт: 5432
Не удалось запросить локальную переадресацию.
debug1: Запрос [email protected]
debug1: переход в фоновый режим
debug1: вход в интерактивный сеанс.
debug1: залог: сеть
debug1: client_input_global_request: rtype [email protected] want_reply 0

Как разблокировать соединение этих портов?

флаг in
Закройте предыдущее соединение.
uotn avatar
флаг sd
@GeraldSchneider Как закрыть соединение? Может ли он перечислить все элементы подключения ssh?
флаг in
перечислите запущенные процессы с помощью `ps` и `убейте` процесс.
uotn avatar
флаг sd
@GeraldSchneider Спасибо! Если можно запишите как ответ. Я приму это.
Рейтинг:0
флаг in

Порт будет заблокирован, пока ваш сеанс SSH активен. Если бы вы не создавали его на заднем плане с помощью -f параметр, который вы можете просто выйти из системы или нажать Ctrl-с, вы не можете сделать это, когда сеанс находится в фоновом режиме.

Вы можете перечислить запущенные процессы с помощью PS. Тогда ты можешь убийство процесс.

$ ps -af |grep ssh
имя пользователя 2113 1822 0 10:19 pts/0 00:00:00 ssh -L 5433:db1.cluster-1.region.rds.amazonaws.com:5432 хост
$ убить 2113
Рейтинг:0
флаг it
RVT

Как уже говорили другие в комментариях... этот порт привязан к процессу, который его запустил. Он будет оставаться открытым, пока этот процесс не завершится.

Вы можете использовать -п аргумент нетстат чтобы увидеть, какие процессы удерживают, какие порты открыты. Идентификатор очень предлагаем вам ограничить это только TCP-портами с флаг, а также ... и, наконец, отключите поиск DNS с помощью флаг.

Итак, вы смотрите на что-то вроде:

netstat -npt

Это должно «перечислить» все порты, которые в настоящее время находятся в таблице состояний, вместе с идентификатором процесса или именем программы.Эта последняя часть, вероятно, потребует повышения привилегий с помощью чего-то вроде судо (или Cygwin "Запуск от имени администратора")

Например:

$ судо netstat -npt
Активные интернет-соединения (без серверов)
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Состояние PID/имя программы
TCP 0 0 127.0.0.1:8651 127.0.0.1:50644 TIME_WAIT -
TCP 0 0 127.0.0.1:8649 127.0.0.1:53761 TIME_WAIT -
TCP 0 0 127.0.0.1:80 127.0.0.1:58488 TIME_WAIT -
TCP 0 348 172.16.XXX.YYY:22 172.16.XXX.ZZZ:54272 УСТАНОВЛЕН 21020/sshd: Рассел
...
RVT avatar
флаг it
RVT
Обратите внимание, что вы также можете добавить `-l` для «только портов прослушивания».

Ответить или комментировать

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