Reverse SSH - Raspberry Pi e AWS

1

Eu tenho um Raspberry Pi que está conectado à internet através de um modem USB. Devido ao meu ISP, infelizmente não consigo obter o endereço IP público do meu dongle em si, e recebo as torres de celular reais.

Estou tentando executar um servidor de nó no pi e preciso acessá-lo externamente da minha rede de, bem, em qualquer lugar.

Eu criei um servidor Linux da AWS AMI e tive SSH reverso ativado, mas toda vez que tento atingir a porta no servidor da AWS para chegar ao pi, não há nada que aconteça.

No final do dia, eu tenho um serviço de nó em execução no pi, que está por trás de um dongle 3g / Modem (Huawei E3531) que NÃO POSSO fazer o encaminhamento de porta.

Eu não quero passar por NOIP, porque isso não funciona para mim. Eu usei o Weaved e ele fez o trabalho, mas o problema é ir ao site toda vez para obter o DNS do meu dispositivo - o que pode mudar a cada 30 minutos.

    
por kmasterrr 12.11.2016 / 15:22

1 resposta

0

O que você está procurando é a opção -R ou RemoteForward in ~/.ssh/config . Veja man ssh . Estou um pouco enferrujado neste, mas penso:

ssh -i ~/.ssh/yourAWSkey -R 80:localhost:80 ubuntu@PublicIpAddress

deve expor qualquer servidor da Web em seu Pi que esteja escutando na porta 80 para o PublicIpAddress da instância do AWS EC2. O desdobramento do ssh é muito poderoso e extremamente flexível.

Além da sua pergunta: A porta de redirecionamento remoto 22 dá acesso ssh ao seu Pi a partir da internet pública mas tenha cuidado - você perde o acesso SSH ao servidor EC2 na porta 22 (contanto que o Pi está segurando a conexão). Então é melhor você fazer ssh -R 443:localhost:22 . Isso encaminhará qualquer conexão para PublicIpAddress: 443 (a porta HTTPS canônica) para a porta SSH no Pi.

Outro ponto adicional: você gostaria de configurar um parágrafo adequado em ~/.ssh/config ao longo das linhas de

Host ec2frontend
    HostName FillInThePublicIpAddress
    User ubuntu
    Port 22
    IdentityFile ~/.ssh/FillInNameOfRSAPrivateKey
    TCPKeepAlive no
    ServerAliveInterval 15
    ServerAliveCountMax 3
    RemoteForward 80 localhost:80
    DynamicForward 8108

Whis permite que um ssh ec2frontend simples conecte e reverta a porta de encaminhamento 80.

E mais uma outra: Você quer instalar autossh e usar autossh -M 0 -Nf ec2frontend para ter uma conexão permanente. autossh está no repositório do Ubuntu e depois de instalar e chamar com o comando acima mantém o SSH ativo (com um ping através do túnel SSH) e reinicia se necessário.

    
por 31.03.2018 / 14:17