Довольно просто, я знаю, что это случилось со мной раньше. Не удалось найти хороший ответ на AU.
Я выполнял ssh-сессию с привязанными портами:
ssh -L 3000:<server_name>:22
Я только что потерял соединение. Когда я пытаюсь восстановить соединение с помощью той же команды, я получаю следующую ошибку:
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3000
Как мне сбросить ssh на моем компьютере, чтобы разрешить повторное подключение порта? Сброс локальной машины работает.
Я предполагаю, что у Вас есть все еще что-то подключенное к локальному порту 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
, если Вы не владеете процессом, который открывает порт.
Вы не могли только уничтожить то, что использует тот порт?
lsof -ti:5901 | xargs kill -9
lsof -ti:5901
для нахождения независимо от того, что использует порт 5901
.
Передача все это к kill -9
для уничтожения независимо от того, что использовало порт 5901
.
Замена портом Вы хотите открыться снова.
lsof -ti:5901
возвратит число процесса, которое Вы тогда передаете kill -9
– Ryan Pergent
20.05.2020, 05:51
Я смог воссоздать и зафиксировать его путем выполнения следующего:
ps -ae
) sh
(kill <proc_number>
) , Тогда вновь открыли соединение SSH
, С другой стороны, я имел успех с:
killall ssh
В терминале на локальной машине
sudo
- that' s, что я пропускал. – Ryan Pergent 20.05.2020, 05:49killall ssh
и иметь его, умирают. Угадайте that' s не случай – Ryan Pergent 20.05.2020, 05:49