encaminhamento de porta ssh através de pseudo terminal

encaminhamento de porta ssh através de pseudo terminal

Aqui está uma situação:

Eu faço todo o meu trabalho em um Mac.

  1. Existe um certo servidor Linux 'servidor01'que fornece acesso a outro servidor Linux'servidor02'através de um pseudo terminal

    Então, para entrar em 'servidor02', eu faço isso no meu mac:

    ssh -t server01 'inline server02'
    
  2. Então ele me pede uma senha para 'servidor01'; Eu entro e isso me conecta 'servidor02'. Agora, estou no 'servidor02' terminal.

  3. De 'servidor02'Posso acessar o banco de dados mysql que está em'servidor03'usando o seguinte comando mysql:

    mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
    
  4. Nenhum 'servidor01' nem 'servidor02'nem meu mac tem acesso SSH para'servidor03'

Agora, quero acessar o mysql em 'servidor03'do meu mac diretamente através de algum tipo de encaminhamento de porta. Então, se eu digitar o comando abaixo no meu terminal mac, ele deverá me conectar ao banco de dados mysql em 'servidor03':

mysql --host=localhost --port=4201 --user=myuser --password=mypass mydb

Existe uma maneira de fazer isso? Qualquer ajuda é muito apreciada.

Responder1

Se você puder fazer ssh para server02 a partir do server01, você pode tentar

ssh -t -L server02:4201 server01 'ssh -N -L server03:4201 server02' 

ele irá encadear a conexão

localhost:4201 -> servidor02:4201 -> servidor03:4201

apenas se conecta localmente à porta4201no Mac

É melhor usar autenticação de chave e agente ssh para evitar digitar senhas.

informação relacionada