Recentemente, configurei o SSH no meu Raspberry Pi. Ele está indo muito bem, especialmente desde que eu posso controlar o computador através do meu iPhone com o aplicativo Server Auditor . Infelizmente, isso só funciona através da rede local.
Como posso fazer meu SSH funcionar quando estou fora de casa? (De preferência, funciona com o aplicativo.)
Respostas:
Aqui estão os passos que eu usei (no debian) que você pode achar úteis.
1.Configurar o IP estático para o Pi.
a.Abra o arquivo de interfaces usando o comando
Altere o arquivo de interfaces para o seguinte (Isso funciona para mim, não tenho certeza se algumas das linhas podem ser excluídas).
c.Verifique se o IP foi alterado usando o comando ifconfig
2.Configurando um DNS dinâmico
Provavelmente, o endereço IP atribuído pelo seu ISP é dinâmico e, portanto, precisamos de uma maneira de resolver as alterações no endereço IP. Eu uso o dnsdynamic e o ddclient para conseguir isso.
a.Inscreva-se para uma conta com dnsdynamic
b.Adicione um novo domínio e selecione um nome e o domínio na lista.Você pode escolher qualquer um dos domínios disponíveis com a sua escolha de subdomínio.Clique em verificar disponibilidade e, em seguida, adicione
3.Definindo o ddclient no Pi
a.Instale o ddclient usando o comando
Abra o arquivo de configuração do ddclient usando o seguinte comando e adicione as seguintes linhas.
e altere o arquivo para o seguinte.
e salve o arquivo.
d. Desejamos que o serviço ddclient seja iniciado automaticamente nas reinicializações. Faça o seguinte.
Adicione o seguinte comando antes da saída 0 (que é a última linha)
Salve o arquivo. Para iniciar o ddclient, reinicie o seu pi ou execute o comando acima no prompt. Ele manterá seu nome de domínio atualizado com o endereço IP atual mudando quando necessário.
4. encaminhamento de porta
Encontre o modelo do seu roteador.
b.Vá para portforward.com
c.Insira a marca e o modelo do roteador para encontrar o guia detalhado sobre a porta de encaminhamento.
Depois de selecionar a marca e o modelo do roteador, clique no guia Padrão na página redirecionada.
Na caixa de texto IP estático , digite o IP estático do Pi fornecido na etapa 1.
Siga as etapas e a porta de encaminhamento 22.A porta de origem precisa ser 22 e a porta de destino pode ser qualquer coisa. porta.
Se você estava seguindo o tutorial, efetue login no pi de qualquer lugar usando a substituição do endereço IP pelo nome de domínio. por exemplo: eu uso [email protected]: 22 para ssh no meu pi.
fonte
sudo
em/etc/rc.local
, não é que já em execução como root?Primeiro, você deseja configurar o encaminhamento de porta. Cada roteador é um pouco diferente, então você terá que procurar as especificações específicas do seu roteador.
Existem guias de instruções genéricos de encaminhamento de porta que podem funcionar para a maioria dos roteadores, mas eu sugiro que você encontre um guia para o seu modelo de roteador real.
Defina uma porta memorável para vincular ao seu raspberry pi, como 23456 ou algo assim. Cuidado para não sobrescrever números de porta comuns .
Por fim, usando ssh, faça o seguinte:
Onde:
-p
comando informa ao ssh qual porta tentar acessar o túnel parafonte
Acessar o RaspberryPi (ou até laptops / servidores) de fora da rede doméstica (ou seja, da Internet) não é uma tarefa fácil, porque o laptop doméstico ou o RaspberryPi possui apenas um endereço IP local (no intervalo 10.xxx ou 192.168.xx alcance). Não possui um endereço IP público visível na Internet.
A resposta simples para sua pergunta é usar serviços on-line gratuitos, como o SocketXP, que fornece um ponto de extremidade de túnel público seguro para SSH no RaspberryPi de fora da rede doméstica.
O SocketXP fornece uma maneira simples, segura e fácil de acessar o RaspberryPi doméstico a partir da rede externa. O SocketXP não requer que você hackear nenhuma configuração no seu roteador WiFi. Funciona imediatamente. Para saber como configurar o RaspberryPi para SSH de fora, leia este blog sobre como fazer o SSH remoto no RaspberryPi usando o SocketXP.
Como configurar o SocketXP:
Etapa 1 : Instale o cliente SocketXP no seu RaspberryPi usando o seguinte comando.
Etapa 2: Conecte o cliente SocketXP ao SocketXP Cloud Service usando o seguinte comando. Você precisa se registrar em https://portal.socketxp.com para obter seu token de autenticação exclusivo.
Etapa 3 : obtenha um ponto de extremidade de túnel público para acessar seu RaspberryPi pela Internet.
Passo 4 : SSH no seu RaspberryPi da Internet usando o seguinte comando.
onde "raspberry-username" é o nome de usuário / senha que você usa para fazer o login SSH no seu RaspberryPi.
fonte
Esta pergunta é antiga, à medida que o tempo passa, há menos chances de você obter um endereço IPv4 acessível ao público. Provavelmente você está atrás de um CGNAT, o que significa que você compartilha um único IPv4 público com outros clientes do ISP. Portanto, não é possível fazer um encaminhamento de porta para seu PI ou qualquer outra coisa.
Se você possui IPv6, pode fornecer ao PI um endereço estático e permitir acesso a ele no seu roteador. Muitas operadoras de telefonia móvel agora oferecem IPv6 para telefones. Os antigos ISPs "terrestres" (fibra, DSL, cabo coaxial etc.) costumam estar se arrastando.
Você também pode obter um VPS (servidor virtual privado) barato com um IPv4 público em algum lugar da nuvem e criar um túnel SSH do PI para o VPS.
fonte
Além da resposta do phalt, você deve verificar um dos serviços DNS dinâmicos, como No IP . Eles permitem que você acesse sua rede doméstica com um nome de host estático, embora seu endereço IP possa ser alterado diariamente, porque seu DSL ou provedor de cabo o desconectou. Eles também têm uma boa começando página, que também apresenta a você configurar seu roteador de acordo.
Convém instalar o
inadyn
pacote no seu Raspberry Pi para atualizar as entradas DNS sem IP, quando o IP mudar. Você pode fazer isso executando:Do README inadyn eu peguei este exemplo de chamada:
Espero que isto ajude.
fonte
Adicional à resposta de steve irwin:
Passo 1:
se você se conectar através da wlan, use:
Passo 2:
depois de alterar o acima, você precisa reiniciar
networking
:fonte
Além disso, alguns roteadores possuem suporte interno para alguns serviços DNS dinâmicos; você pode ativar esta opção (se existir) no roteador para evitar a instalação do cliente no PI (e economizar um pouco de sobrecarga enquanto estiver nele).
fonte
Portanto, você tem um servidor ssh (seu Raspberry PI) protegido por um firewall (seu roteador) e deseja conectá-lo de qualquer lugar. Vamos supor que o servidor ssh esteja configurado corretamente, ou seja, executar 'ssh username @ localhost date' no seu Raspberry mostra a data / hora atual.
Você tem que resolver dois problemas:
Encaminhamento de porta e DynDNS
Existem soluções (como foi apontado por outros):
Se configurado corretamente, é possível conectar seu rasbperry pi com:
Usando sshhub.de
Outra solução muito conveniente, não mencionada até agora, é o SSHHub ( disclamer , eu sou o autor). Ele usa o encaminhamento do ssh para acessar seu PI Rasperry de qualquer lugar. É confiável, gratuito e bastante simples de configurar . Registre-se uma vez:
execute no seu PI de framboesa:
...e é isso! Você pode conectar seu Raspberry Pi de qualquer lugar:
fonte
Você pode usar uma VPN para permitir o acesso de entrada ao seu pi. O OpenVPN é uma solução, que exigiria um computador acessível a partir da Internet (uma porta de entrada). No entanto, desde que você tenha um computador acessível, os outros computadores não precisam ser, pois podem ser clientes do servidor OpenVPN.
Outra opção seria usar um serviço como o ZeroTier, que fornece servidores centralizados para criar uma VPN, para que você não precise executar seu próprio servidor. Isso também é gratuito.
fonte