Bastante simple, sé que esto me ha pasado antes. No se pudo encontrar una buena respuesta en AU.
Estaba ejecutando una sesión ssh con puertos vinculados:
ssh -L 3000:<server_name>:22
Acabo de perder mi conexión. Cuando intento reconectarme usando el mismo comando, aparece el siguiente error:
bind: Address already in use
channel_setup_fwd_listener: cannot listen to port: 3000
¿Cómo reinicio ssh en mi máquina para permitir que el puerto vuelva a estar vinculado? Restablecer la máquina local funciona.
networking
ssh
port-forwarding
kbuilds
fuente
fuente

lsof -ti:5901devolverá un número de proceso, que luego pasarákill -9sudosi el proceso no está surgiendolsofkill -9menos que el programa no responda por completo . Eliminar un proceso con la señal n. ° 9 (SIGKILL) lo finaliza inmediatamente sin darle al proceso la posibilidad de vaciar los búferes, cerrar los mangos de archivos y los sockets, eliminar los archivos temporales, etc., todo lo cual el proceso puede hacer si lo usakill(por defecto es SIGTERM) , seguido dekill -1(SIGHUP; hangup) ykill -2(SIGINT; qué envía Ctrl + C) si eso no funciona, y finalmentekill -9si nada más funciona .Supongo que todavía tienes algo conectado al puerto local 3000.
Puedes encontrarlo con
y luego deséchelo. Por ejemplo en mi máquina:
identifica correctamente el proceso en espera y conectado en el puerto 5900 (servidor vnc).
Otro comando útil es
... es posible que deba ejecutarlos todos
sudosi no posee el proceso que está abriendo el puerto.fuente
killall sshy hacer que muriera. Supongo que ese no es el casosudo, eso es lo que me faltaba.Pude recrearlo y arreglarlo haciendo lo siguiente:
ps -ae)sh(kill <proc_number>)Luego vuelva a abrir la conexión ssh
Alternativamente, he tenido éxito con:
En la terminal en la máquina local
fuente
Un contendiente más:
ssse puede usar así:
ss -ltp | grep 3000para encontrar el programa escuchando en el puerto 3000fuente