¿Qué significa este comando ssh?

¿Qué significa este comando ssh?

Es una respuesta que obtuve de una pregunta sobre el reenvío de puertos, pero no estoy seguro de lo que significa.

$ ssh lab_desktop -L 2200:lab_server:22 -vvv

mi suposición descabellada:

primero conéctese a lab_desktop y luego vuelva a iniciar sesión en lab_server (puerto 22) y los datos recibidos de esta conexión se reenviarán a lab_desktop, puerto 2200.

¿Es correcta mi suposición descabellada?

pero todavía no entiendo qué significa ese '-vvv'...


actualizar después de aplicar la respuesta:

Está bien con las útiles respuestas y comentarios de Creek, hice lo que pude para que la respuesta de Creek funcionara.

De nuevo, déjame ser claro con la terminología.

mypc- el que está escribiendo todo

lab_desktop- servidor ssh

lab_server- destino final con el que quiero comunicarme. Este servidor sólo permitirá la conexión desde lab_desktop. Y una cosa más: sólo permitirá conexiones a través del puerto 122.

está bien, ya que iniciar sesión lab_desktoprequiere lab_servernombre de usuario y contraseña, simplemente hice la autenticación rsa para mypc- lab_desktop y lab_desktop- lab_serverpara no enfrentar el problema de ingresar la contraseña todo el tiempo y simplemente dejar de lado la posibilidad de ingresar la contraseña para hacer el El comando ssh es más complejo.

Después de eso usé el comando:

ssh Black@lab_desktop -v -L 2200:lab_server:122

lo siguiente es el resultado

chulhyun@chulhyun-Inspiron-3420:~/.ssh$ ssh Black@$labcom -v -L 2200:143.248.146.204:122 
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 143.248.143.198 [143.248.143.198] port 22.
debug1: Connection established.
debug1: identity file /home/chulhyun/.ssh/id_rsa type -1
debug1: identity file /home/chulhyun/.ssh/id_rsa-cert type -1
debug1: identity file /home/chulhyun/.ssh/id_dsa type -1
debug1: identity file /home/chulhyun/.ssh/id_dsa-cert type -1
debug1: identity file /home/chulhyun/.ssh/id_ecdsa type -1
debug1: identity file /home/chulhyun/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.4
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 79:64:5d:e7:ac:78:b7:52:3d:9a:6a:3b:c1:37:a0:2d
debug1: Host '143.248.143.198' is known and matches the ECDSA host key.
debug1: Found key in /home/chulhyun/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/chulhyun/.ssh/id_rsa
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
Authenticated to 143.248.143.198 ([143.248.143.198]:22).
debug1: Local connections to LOCALHOST:2200 forwarded to remote address 143.248.146.204:122
debug1: Local forwarding listening on ::1 port 2200.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on 127.0.0.1 port 2200.
debug1: channel 1: new [port listener]
debug1: channel 2: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = ko_KR.UTF-8
Last login: Tue Jun 24 16:47:27 2014 from 143.248.244.12

Black@Black-PC ~
$

es largo pero supongo que lo único que debería mirar son las líneas:

debug1: Local connections to LOCALHOST:2200 forwarded to remote address 143.248.146.204:122
debug1: Local forwarding listening on ::1 port 2200.

cuando uso mi netstat para ver si esto es cierto ( netstat -tulpn | grep 2200), el resultado es:

root@chulhyun-Inspiron-3420:/etc/ssh# netstat -tulpn | grep 2200
tcp        0      0 127.0.0.1:2200          0.0.0.0:*               LISTEN      14966/ssh       
tcp6       0      0 ::1:2200                :::*                    LISTEN      14966/ssh 

así que supongo que el salto ssh está establecido después de todo.

El problema ahora es cuando intento usar el puerto 2200 en mypc. Como sugirió Creek, necesito explotar este puerto, así que intenté iniciar sesión con mi cuenta raíz y mi cuenta de usuario, pero el resultado fue un error debido a la contraseña.

chulhyun@chulhyun-Inspiron-3420:~$ su
password: 
root@chulhyun-Inspiron-3420:/home/chulhyun# ssh root@localhost -p 2200
root@localhost's password: 
Permission denied, please try again.
root@localhost's password: 

root@chulhyun-Inspiron-3420:/home/chulhyun# exit
exit
chulhyun@chulhyun-Inspiron-3420:~$ ssh chulhyun@localhost -p 2200
chulhyun@localhost's password: 
Permission denied, please try again.

Las contraseñas son las correctas, estoy seguro. Pero no entiendo por qué no funciona...

Llego hasta este punto. ¿Podrías ayudarnos a llegar más lejos?


actualizar

El nuevo problema al que me enfrento se analiza y resuelve en:¿Linux no puede reconocer la contraseña correcta al realizar ssh?

Respuesta1

ssh lab_desktop -L 2200:lab_server:22 -vvv

  1. ssh lab_desktop- crear una conexión ssh lab_desktopcomo$USER
  2. -L 2200:lab_server:22- utilizando la conexión a lab_desktop, reenvíe el puerto 2200 en la máquina local al puerto 22 enlab_server
  3. -vvv- habilitar el nivel máximo de detalle

Este comando abrirá un socket en su máquina local en el puerto 2200, luego, utilizando un túnel SSH, todo el tráfico enviado al puerto 2200 en localhost será REENVIADO al puerto 22 en lab_server.

Para utilizar su puerto reenviado y establecer una conexión SSH a lab_server, deberá iniciar una segunda conexión donde se conectará al puerto local en localhost:

ssh user@localhost -p 2200

Respuesta2

ssh -L 2200:lab_server:22 -vvv lab_desktop

hará lo siguiente:

Está siendo detallado en el nivel máximo (3), lo que significa que imprimirá debug level 3información. Un ejemplo es:

debug3: channel 0: will not send data after close

Le permite -Lcanalizar sus datos a través del puerto indicado 2200de su lado lab_desktophasta el lab_serverpuerto de encendido 22.

Entonces, si se conecta a lab_desktopun puerto 2200, recibirá datos de lab_serverese puerto 22.

Una buena fuente sobre el reenvío de puertos ssh esaquí.

Respuesta3

http://www.explainshell.com/explain?cmd=ssh+lab_desktop+-L+2200%3Alab_server%3A22+-vvv

Si el sitio web no funciona, puedes ejecutar tu propia versión.

https://github.com/idank/explainshell

Extracto del sitio web

ingrese la descripción de la imagen aquí

información relacionada