erro de encaminhamento de porta ssh

2

Eu tenho dois servidores Linux e um cliente Mac, e gostaria de fazer o encaminhamento de porta SSH via endereço de porta local no Mac.

No Terminal 1 no Mac,

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

e do Terminal 2 no mesmo Mac

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

funciona bem. Mas se eu usar outra conta user2 no Mac,

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

Eu recebo o seguinte erro no Terminal 2.

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

Ao mesmo tempo, outra mensagem de erro aparece no Terminal 1.

channel 3: open failed: administratively prohibited: open failed

Ou user1 ou user2 não tem configurações especiais de encaminhamento de porta /etc/sshd_config, /etc/ssh_configou ~/.ssh/config. Ambos os usuários têm acesso para o login SSH no Mac (ou seja, no painel "Login Remoto" do System Preference, esses usuários estão na lista branca).

Eu não vejo nenhuma mensagem em /var/log/system.log.

Qual configuração devo verificar? Eu uso o OS X Yosemite.


Aqui está a saída detalhada do 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
Akira Okumura
fonte

Respostas:

2

Quando você inicia o encaminhamento de porta, não especifica o usuário.

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

Você precisa especificar usuário no segundo comando:

localhost:~ user1$ scp -P 8022 [email protected]:file .

Isso deve funcionar bem para você

Jakuje
fonte
1
Muito obrigado. Funcionou. Eu provavelmente copiei um exemplo errado de algum lugar.
Akira Okumura