o que significa este comando ssh?

1

É uma resposta que recebi de perguntas sobre o encaminhamento de portas, mas não tenho certeza do que isso significa.

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

meu palpite:

primeiro, conecte-se ao lab_desktop e, novamente, efetue login no lab_server (porta 22) e os dados recebidos dessa conexão serão encaminhados para o lab_desktop, porta 2200.

é o meu palpite certo?

mas ainda não entendi o que '-vvv' significa ...

atualize depois de aplicar a resposta:

bem com a resposta e os comentários úteis do creek, eu fiz o que pude para fazer a resposta do creek funcionar

novamente, deixe-me ser claro com as terminologias

mypc - o que está fazendo toda a digitação

lab_desktop - servidor ssh

lab_server - destino final com o qual quero me comunicar. Este servidor só permitirá conexão de lab_desktop . E mais uma coisa: só permitirá conexões através da porta 122.

tudo bem, já que fazer login no lab_desktop e lab_server exige nome de usuário e senha. Acabei de fazer a autenticação do rsa para mypc - lab_desktop e lab_desktop - lab_server para não enfrentar o problema de digitar a senha o tempo todo e apenas deixar de lado a possibilidade de digitar a senha, tornando o comando ssh mais complexo.

Depois disso, usei o comando:

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

o abaixo é o 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 ~
$

é longo, mas eu acho que a única coisa que eu deveria estar procurando são as linhas:

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

quando eu uso meu netstat para ver se isso é verdade ( netstat -tulpn | grep 2200 ), a saída é:

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 

então eu acho que o salto ssh é estabelecido depois de tudo ..

O problema agora é quando tento usar a porta 2200 em mypc . Como Creek sugeriu, eu preciso explorar essa porta, então eu tentei fazer o login com minha conta root e conta de usuário, mas o resultado foi uma falha devido à senha ..

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.

As senhas são as certas que tenho certeza. Mas eu não entendo porque não vai funcionar ...

Eu chego a este ponto. Você poderia ajudar a ser mais longe?

atualizar

o novo problema que estou enfrentando é discutido e resolvido em: O Linux não consegue reconhecer a senha correta ao usar o ssh?

    
por kwagjj 24.06.2014 / 04:00

3 respostas

5

ssh lab_desktop -L 2200:lab_server:22 -vvv

  1. ssh lab_desktop - cria uma conexão ssh com lab_desktop as $USER
  2. -L 2200:lab_server:22 - usando a conexão para lab_desktop , encaminhar a porta 2200 na máquina local para a porta 22 em lab_server
  3. -vvv - ativa o nível de detalhamento máximo

Este comando abrirá um soquete em sua máquina local na porta 2200 e, em seguida, usando um túnel SSH, todo o tráfego enviado para a porta 2200 no host local será encaminhado para a porta 22 no lab_server.

Para utilizar sua porta encaminhada e estabelecer uma conexão SSH com o lab_server, você precisará iniciar uma segunda conexão na qual você se conectará à porta local no host local:

ssh user@localhost -p 2200
    
por 24.06.2014 / 04:11
4
ssh -L 2200:lab_server:22 -vvv lab_desktop

fará o seguinte:

Está sendo detalhado no nível máximo (3), o que significa que imprimirá debug level 3 information. Um exemplo é:

debug3: channel 0: will not send data after close

O -L permite encapsular seus dados por meio da porta fornecida 2200 no seu lado lab_desktop para a lab_server na porta 22 .

Portanto, se você se conectar a lab_desktop na porta 2200 , receberá dados de lab_server na porta 22 .

Uma boa fonte sobre o encaminhamento de porta ssh é aqui .

    
por 24.06.2014 / 04:12
0

link

Se o site estiver desativado, você poderá executar sua própria versão

link

Extrair do site

    
por 24.06.2014 / 13:24