ssh port forwarding através do pseudo terminal

3

Aqui está uma situação:

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

  1. There's a certain linux server 'server01' that provides access to another linux server 'server02' via a pseudo terminal

    So, to ssh into 'server02', I do this from my mac:

    ssh -t server01 'inline server02'
    
  2. Then it asks me for a password to 'server01'; I enter it and that logs me into 'server02'. Now, I am on the 'server02' terminal.

  3. From 'server02' I can access the mysql database that is sitting on 'server03' using the following mysql command:

    mysql --host=server03 --port=4201 --user=myuser --password=mypass mydb
    
  4. Neither 'server01' nor 'server02' nor my mac have SSH access to 'server03'

Agora, quero acessar o mysql em ' server03 ' do meu Mac diretamente por meio de algum tipo de encaminhamento de porta. Então, se eu digitar o comando abaixo no meu terminal mac, ele deve me conectar ao banco de dados mysql em ' server03 ':

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

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

    
por user3142747 04.11.2015 / 13:52

1 resposta

1

Se você pode ssh para server02 do server01 você pode tentar

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

ligará a conexão

localhost: 4201 - > server02: 4201 - > server03: 4201

apenas conecta localmente à porta 4201 no mac

Use melhor a autenticação de chaves e o ssh-agent para evitar a digitação de senhas.

    
por 04.11.2015 / 14:11