error de reenvío de puerto ssh

Tengo dos servidores Linux y un cliente Mac, y me gustaría hacer el reenvío de puertos SSH a través de la dirección del puerto local en la Mac.

En la Terminal 1 en la Mac,

localhost:~ user1$ ssh -L 8022:server2:22 server1

y desde la Terminal 2 en el mismo Mac

localhost:~ user1$ scp -P 8022 0.0.0.0:file .

funciona bien Pero si uso otra cuenta user2en la Mac,

localhost:~ user2$ ssh -L 8022:user1@server2:22 user1@server1

Recibo el siguiente error en la Terminal 2.

localhost:~ user1$ scp -P 8022 0.0.0.0:file .
ssh_exchange_identification: Connection closed by remote host

Al mismo tiempo, aparece otro mensaje de error en la Terminal 1.

channel 3: open failed: administratively prohibited: open failed

Ya sea user1o user2no tiene ninguna configuración especial de reenvío de puertos en /etc/sshd_config, /etc/ssh_configo ~/.ssh/config. Ambos usuarios tienen acceso para el inicio de sesión SSH en la Mac (es decir, en el panel "Inicio de sesión remoto" de Preferencias del sistema, estos usuarios están en la lista blanca).

No veo ningún mensaje en /var/log/system.log.

¿Qué configuración debo comprobar? Yo uso OS X Yosemite.


Aquí está la salida detallada del scpcomando.

Executing: program /usr/bin/ssh host 0.0.0.0, user (unspecified), command scp -v -f file
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug1: Connecting to 0.0.0.0 [0.0.0.0] port 8022.
debug1: Connection established.
debug1: identity file /Users/cta/.ssh/id_rsa type -1
debug1: identity file /Users/cta/.ssh/id_rsa-cert type -1
debug1: identity file /Users/cta/.ssh/id_dsa type -1
debug1: identity file /Users/cta/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
ssh_exchange_identification: Connection closed by remote host

Respuestas (1)

Cuando inicia el reenvío de puertos, no especifica el usuario.

localhost:~ user2$ ssh -L 8022:server2:22 user1@server1

Debe especificar el usuario en el segundo comando:

localhost:~ user1$ scp -P 8022 user1@0.0.0.0:file .

Eso debería funcionar bien para ti

Muchas gracias. Funcionó. Probablemente copié un ejemplo incorrecto de alguna parte.