He configurado en ~/.ssh/config
muchos reenvío de puertos para VNC con diferentes puertos para cada servidor.
¿Hay algún comando que pueda ayudarme a saber a qué puerto se reenvía cuando abro una sesión SSH?
fuente
He configurado en ~/.ssh/config
muchos reenvío de puertos para VNC con diferentes puertos para cada servidor.
¿Hay algún comando que pueda ayudarme a saber a qué puerto se reenvía cuando abro una sesión SSH?
Si usa la -v
opción ssh
, le mostrará lo que está reenviando (pero también le mostrará un montón de otros mensajes de depuración):
ssh -v -L2222:localhost:22 remotehost
Te mostrará:
...debug messages...
debug1: Authentication succeeded (publickey).
Authenticated to remotehost ([10.0.0.23]:22).
debug1: Local connections to LOCALHOST:2222 forwarded to remote address localhost:22
debug1: Local forwarding listening on ::1 port 2222.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 2222.
...debug messages...
Y luego, cuando esté conectado a ese shell remoto, puede escribir una secuencia de teclas especial:
~#
que enumerará las conexiones de esta manera:
The following connections are open:
#3 client-session (t4 r0 i0/0 o0/0 fd 7/8 cc -1)
#4 direct-tcpip: listening port 2222 for localhost port 22, connect from 127.0.0.1 port 59742 (t4 r1 i0/0 o0/0 fd 10/10 cc -1)
Sin embargo, tenga en cuenta que esto solo enumerará los puertos reenviados que realmente están siendo utilizados por otro programa (en este caso, acabo de hacerlo telnet localhost 2222
en mi máquina local para reenviarlo) remotehost
.
Si no tiene ninguna conexión que se esté reenviando actualmente, aún puede ver lo que su comando ssh está escuchando localmente usando el netstat
comando como este:
% netstat -tpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:2222 0.0.0.0:* LISTEN 28995/ssh
tcp6 0 0 ::1:2222 :::* LISTEN 28995/ssh
Es netstat
probable que el comando también enumere otras cosas, pero lo que desea buscar en la salida es la PID/Program
columna para buscar ssh
procesos y la Local Address
columna que le mostrará qué puertos se están escuchando. En este ejemplo, está escuchando port 2222
las interfaces IPv4 e IPv6 en mi máquina.
netstat
ha quedado obsoleto a favor dess
.