Crie um túnel SSH com chaves de autenticação - Sintaxe

2

Eu tenho que criar um túnel SSH para conectar um servidor de implantação a uma VPN:

DeploymentServer --> Gateway --> PrivateServer

Cada máquina usando uma chave, eu tentei o seguinte comando:

myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP

E então este na outra janela do terminal:

myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@SERVER_PRIVATE_IP

Mas isso não funciona, eu recebo um erro de tempo limite. Minha porta 1122 está aberta e eu posso conectá-la. Eu não sei o que estou fazendo errado, minha sintaxe está correta?

É meu primeiro túnel, então não ria de mim!

EDIT 1

Eu adicionei -v e consertei a segunda chamada SSH.

Primeira chamada: %código% Resposta: myMachine $ ssh -i GATEWAY_KEY.pem -N -L 1122:ubuntu@SERVER_PRIVATE_IP:22 ubuntu@GATEWAY_IP -v

Segunda chamada: debug1: Authentication succeeded (publickey).

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to localhost [::1] port 1122.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file .ssh/wamapi_staging.pem type -1
debug1: identity file .ssh/wamapi_staging.pem-cert type -1
ssh_exchange_identification: Connection closed by remote host

E na primeira guia novamente:

debug1: Connection to port 1122 forwarding to [email protected] port 22 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: administratively prohibited: open failed
debug1: channel 2: free: direct-tcpip: listening port 1122 for [email protected] port             22, connect from ::1 port 60341, nchannels 3
    
por Guilhem Soulas 17.06.2013 / 20:21

2 respostas

2

Eu fiz isso funcionar usando o arquivo .ssh / config ao invés de tentar colocar todos os meus parâmetros nos meus comandos. Aqui estão os resultados, se alguém precisar:

Host the-gateway
  Hostname GATEWAY_IP
  Port 22
  User ubuntu
  IdentityFile ~/.ssh/keys/GATEWAY_KEY.pem

Host the-tunnel
  Hostname localhost
  Port 1122
  User ubuntu
  IdentityFile ~/.ssh/keys/PRIVATE_SERVER_KEY.pem

E depois os 2 comandos:

ssh -N -L 1122:SERVER_PRIVATE_IP:22 the-gateway
ssh the-tunnel

Fazendo isso, o SSH pode usar minhas chaves pem.

    
por 18.06.2013 / 21:02
0

Se eu entendi sua pergunta corretamente, e você quer ssh para "PrivateServer", então sua segunda chamada ssh deve ser:

myMachine $ ssh -i PRIVATE_SERVER_KEY.pem -p 1122 ubuntu@localhost

Se não, por favor, esclarecer em um comentário sobre sua pergunta.

    
por 17.06.2013 / 21:13