ssh -L (ошибка: bind: адрес уже используется)

Довольно просто, я знаю, что это случилось со мной раньше. Не удалось найти хороший ответ на AU.

Я выполнял ssh-сессию с привязанными портами:

ssh -L 3000:<server_name>:22

Я только что потерял соединение. Когда я пытаюсь восстановить соединение с помощью той же команды, я получаю следующую ошибку:

bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3000

Как мне сбросить ssh на моем компьютере, чтобы разрешить повторное подключение порта? Сброс локальной машины работает.

48
задан 15 April 2014 в 00:31

4 ответа

Я предполагаю, что у Вас есть все еще что-то подключенное к локальному порту 3000.

можно найти его с

netstat -tulpn | grep 3000 

и затем избавиться от него. Например, в моей машине:

[:~] % netstat -tulpn | grep 5900
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      2547/vino-server
tcp6       0      0 :::5900                 :::*                    LISTEN      2547/vino-server

правильно определяет ожидание процесса и соединенный на порте 5900 (vnc сервер).

Другая полезная команда

fuser 3000/tcp 

..., все они, возможно, должны быть выполнены с sudo, если Вы не владеете процессом, который открывает порт.

0
ответ дан 15 April 2014 в 00:31

Я смог воссоздать и зафиксировать его путем выполнения следующего:

  • Открывают что-то, что перечислит Ваши процессы (ps -ae)
  • , Уничтожают процесс, названный sh (kill <proc_number>)

, Тогда вновь открыли соединение SSH

, С другой стороны, я имел успех с:

killall ssh

В терминале на локальной машине

0
ответ дан 15 April 2014 в 00:31

Вы не могли только уничтожить то, что использует тот порт?

 lsof -ti:5901 | xargs kill -9

lsof -ti:5901 для нахождения независимо от того, что использует порт 5901.

Передача все это к kill -9 для уничтожения независимо от того, что использовало порт 5901.

Замена портом Вы хотите открыться снова.

0
ответ дан 15 April 2014 в 11:31
  • 1
    хорошо, I' ll удаляют мой комментарий тогда. – Dooley_labs 8 October 2015 в 04:33

еще один соперник: ss

это может использоваться как это: ss -ltp | grep 3000 для нахождения программы, слушающей на порте 3000

0
ответ дан 15 April 2014 в 11:31

Другие вопросы по тегам:

Похожие вопросы: