Como faço para a porta do túnel ssh avançar?

1

Estou em um Mac e quero me conectar a uma instância do EC2. Depois, faço com que essa instância do EC2 se conecte a um servidor remoto pela porta 22. Então, até onde eu entendi, gostaria de fazer algo como:

sudo ssh -l [USERNAME-FOR-REMOTE-MACHINE] -L 22528:[EC2-MACHINE-IP]:22528 -L 22:[REMOTE-IP]:22 [EC2-MACHINE-IP]

Então eu quero ouvir na porta 22528 no meu local (eu acho) e de alguma forma ter que conectar a porta 22 do [REMOTE-IP].

Tenho certeza de que estou errado de muitas maneiras, mas qualquer ajuda seria muito apreciada

    
por Shamoon 19.11.2013 / 16:26

2 respostas

3

Eu desenhei alguns esboços

A máquina em que o comando ssh tunnel é digitado chama-se »seu host« .

Introdução

  1. local: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHost significa: conecte-se com ssh a connectToHost e encaminhe todas as tentativas de conexão para o local sourcePort para a porta onPort na máquina chamada forwardToHost , que pode ser alcançado a partir da máquina connectToHost .

  2. remoto: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHost significa: conecte-se com ssh a connectToHost e encaminhe todas as tentativas de conexão para o remoto sourcePort para a porta onPort na máquina chamada forwardToHost , que pode ser alcançado a partir de sua máquina local.

Seu exemplo

Você quer se conectar a um servidor remoto através da máquina EC2, certo? Então a segunda imagem representa seu cenário. O remotehost é sua máquina EC2. O farawayhost é seu servidor remoto com sua porta rosa de interesse (na porta de desenho 456 , mas no seu caso, porta 22 ). Então o comando tem que ficar assim:

ssh -L 22528:REMOTE-IP:22 EC2-MACHINE-IP

O número da porta da porta verde é 22528 . Agora você pode acessar seu servidor remoto com ssh via

ssh -p 22528 localhost
    
por 14.03.2014 / 00:26
0

Você só precisa encaminhar a porta local 22528 (-L 22528) para conectar-se à porta REMOTE-IP (: [REMOTE-IP]) 22 (: 22)

Portanto, é -L 22528:[REMOTE-IP]:22

No caminho que você fez, você está encaminhando conexões para o local 22528 para o EC2 22528, onde não haverá ninguém ouvindo, e conexões para o local 22 (às quais você pode não conseguir se ligar) ao 22 do REMOTE.

Não há sudo para isso.

    
por 19.11.2013 / 17:38