Solía ssh -L 10002:192.168.0.30:10002 192.168.1.135establecer el reenvío de puertos, pero ahora necesito eliminarlo.
¿Cómo hago esto?
ssh
port-forwarding
usuario16654
fuente
fuente

Warning: remote port forwarding failed for listen portmensaje.Respuestas:
Si está utilizando Linux, puede eliminar el proceso de la siguiente manera:
y luego usar
Para matar el proceso.
Si el comando kill no tiene éxito, puede intentar
fuente
kill -9hasta después de haberlo intentadokill. Muchos procesos tendrán manejadores de señales que limpiarán su uso de recursos, cerrarán conexiones y otras tareas previas al cierre. Si matas con -9, el proceso muere inmediatamente sin hacer la limpieza. La matanza sin -9 será trabajar la mayor parte del tiempo.kill -9sin razón es como usar una escopeta para matar un mosquito. :)pgrep ssh | xargs kill. No utilices-9para nada de hechosshcomando, o que todos lossshcomandos que está ejecutando están bien para matar. Esta no es una buena suposición general.sshinstancias en múltiples servidores remotos todo el tiempo, algunas de ellas sin mi participación activa directa. Por ejemplo, el modo Emacs Tramp abre unasshconexión detrás de escena cuando visito un búfer remoto. Algunas personas usan sistemas de archivos de espacio de usuario que hacen algo similar. No es nada raro. De hecho, asumiría que un solo usuario, una solasshinstancia, es un caso de uso marginal minoritario. Si funciona para usted, bien por usted, pero no es un buen consejo general.Cuando se usa la multiplexación ssh, matar el proceso ssh a menudo es indeseable (mata todas las conexiones abiertas con ese host), y no puede acceder fácilmente al escape porque "el escape no está disponible para sesiones multiplexadas". La forma correcta es ejecutar el análogo del comando de reenvío que desea cancelar, pero agregando
-O cancel. Por ejemplo:Esto deshabilitará este reenvío de puertos sin terminar la sesión. Nuevamente, esto solo funcionará si se usa multiplexación ssh para la conexión a 192.168.1.135 .
fuente
ssh -O exit 192.168.1.135.Cómo cancelar un puerto reenviado en una sesión SSH que ya se está ejecutando:
-KL portDeberías ver esto:
fuente
Puede usar la "tecla de escape" (generalmente ~) seguida de C para obtener un cli a su conexión. Desde allí puede quitar túneles sin desconectar su conexión.
fuente
Puede ingresar a una consola interactiva escribiendo ~C(mayúscula "C"). Esto le permite agregar y eliminar dinámicamente reenvíos de puertos (entre otras cosas).
Esta secuencia tiene que venir justo después de un retorno de carro / nueva línea. Entonces, en caso de duda, solo escriba Enter~C(en secuencia).
Si no ves que los personajes aparecen en la consola, lo estás haciendo bien :)
Ahora debería ver un
ssh>mensaje.Para eliminar el puerto, simplemente ingrese
-KL 10002seguido de Enter(donde10002está su puerto reenviado).Lo inverso, agregar un nuevo avance, se puede hacer de esta manera (de principio a fin):
Enter~C
Enter
fuente
~C escape not available to multiplexed sessions. Si ese es el caso, vea la excelente respuesta de a3nm.