como acessar um host privado através de um público

2

Eu tenho várias instâncias do AWS EC2, uma delas tem um endereço IP público, o restante não tem endereços IP públicos.

Configurei o acesso SSH à máquina pública usando um par de chaves privada / pública. Agora preciso acessar o restante da rede por meio dessa instância pública.

Foi-me dito que, se eu criar um arquivo .pem do meu par de chaves e instalá-lo na instância pública, poderei primeiro o SSH para a instância pública e, a partir daí, o SSH para os outros. / p>

Isso não parece certo. Copiar minhas chaves privadas para outra instância não parece seguro. É possível configurar um túnel (seja lá o que for, eu não sou um administrador de sistema) da minha máquina local que tem o par de chaves para as instâncias de destino?

    
por akonsu 25.09.2014 / 01:19

2 respostas

2

Se você tiver acesso a hosts privados de um host público, você poderá configurar o seu ssh config local ~/.ssh/config para usar seu host público como proxy ssh:

Host PublicServer
        Hostname PUBLIC_DNS_OR_IP_HERE
        User USERNAME_HERE
        # Default ~/.ssh/id_rsa
        IdentityFile /path/to/your/private/ssh/key

Host PrivateHost2
        Hostname 192.168.168.2

Host PrivateHost3
        Hostname 192.168.168.3

Host PrivateHost* 192.168.168.*
        Hostname %h
        User PRIVATE_HOSTS_USERNAME
        #Compression yes
        #ForwardX11 no
        #IdentityFile ~/.ssh/id_rsa
        ProxyCommand ssh -W %h:%p PublicServer

Em seguida, você pode executar apenas ssh PrivateHost3 para se conectar ao host privado por meio de PublicServer ou mesmo ssh 192.168.168.3 , nesse caso, não será necessário criar entradas PrivateHostN. Não há necessidade de colocar sua chave privada no PublicServer, tudo funciona de forma transparente.

    
por 09.02.2017 / 11:10
0

Você está usando VPCs ou EC2 Classic? Essas instâncias estão todas na mesma sub-rede - ou pelo menos todas dentro da mesma VPC?

Se você tiver instâncias na mesma VPC / sub-rede, então aqui está o que eu faria:

  • Para o IP público / instância, configure o grupo de segurança para permitir o SSH de entrada de sua WAN ou bloco de IP de trabalho.

  • Verifique se você pode executar o SSH na instância Pública depois de fazer essa alteração. Se estiver correto, vá para a próxima etapa.

  • Crie um grupo de segurança que permita acesso de entrada às instâncias privadas SOMENTE da instância pública. Você pode usar o endereço IP / 32 para especificar a instância Pública como a entrada IP esperada para as portas SSH de instâncias privadas. Ou você pode ser preguiçoso e usar o intervalo de sub-rede interna - até você.

    -Agora SSH na instância pública usando o IP público. Em seguida, tente se conectar às instâncias privadas usando apenas os endereços IP internos ou privados atribuídos às instâncias - agora você deve poder se conectar.

por 25.09.2014 / 22:46