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 user2
en 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 user1
o user2
no tiene ninguna configuración especial de reenvío de puertos en /etc/sshd_config
, /etc/ssh_config
o ~/.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 scp
comando.
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
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
akira okumura