Amazon Web Service (AWS) Instância de sub-rede privada VPC 'Permissão negada (publickey)'. - ssh da osx

0

Estou me conectando a uma instância do Amazon Web Service (AWS) EC2 na sub-rede privada de um servidor privado virtual por meio de uma instância do NAT e recebendo o seguinte erro:

Permission denied (publickey)

Isso aconteceu depois que eu me conectei ao NAT e estou tentando o SSH para a instância privada da sub-rede EC2.

Procedimento:

  1. Defina o host em ~/.ssh/config com o seguinte:

    Host my_aws_nat
    Hostname xx.xx.xx.xx
    User ec2-user
    IdentityFile /location/of/my/aws/key_pair.pem
    ForwardAgent yes
    
  2. SSH para a instância do NAT via ssh my_aws_nat (o que é bem sucedido)

  3. SSH para instância na sub-rede privada ssh [email protected] - que é quando recebo o erro

Eu sou capaz de pingar minha instância privada do meu NAT com ping 10.0.X.X . Por isso, tenho a certeza de que não é um problema dos grupos de segurança. Parece que é um problema de encaminhamento de agentes.

Atualmente, a instância à qual estou me conectando usa o mesmo par de chaves da instância do NAT (no modo de aprendizagem).

A outra maneira que tentei é conectar-me ao NAT com:

ssh -A [email protected] -i key_pair.pem

Que, novamente, se conecta corretamente ao NAT, mas dá o mesmo erro ao se conectar à instância privada.

Eu tenho que usar ssh-agent no Mac OS X?

Ou não deveria especificar ForwardAgent yes em /.ssh/config fazer a mesma coisa?

    
por goredwards 13.03.2015 / 20:28

1 resposta

0

De acordo com esta resposta e esta diretriz

Eu precisava adicionar o key_pair.pem ao agente ssh do OSX da seguinte forma:

ssh-add -K /path/to/key_pair.pem

(no meu caso, não pedi uma senha)

Depois disso, tudo funcionou bem usando as duas metodologias descritas acima.

Então, para responder à pergunta:

Q: Do I have to use ssh-agent on Mac OS X to log in to a private subnet instance through a NAT/bastion host?
A: YES

    
por 14.03.2015 / 00:57