Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Sempre quis implantar um Raspberry Pi "no campo" e ainda conseguir acessá-lo?
Esta é uma maneira fácil de habilitar o acesso SSH remoto ao Raspberry Pi 2 (e também a outros modelos). Embora existam soluções envolvendo uma VPN ou configurando o encaminhamento de porta em um firewall local, muitas vezes são difíceis de gerenciar para quem não é especialista.
Uma nova geração de serviços de retransmissão, incluindo My-Devices.net, Pagekite.net e Yaler.net, tenta consertar isso. Aqui, usamos o serviço de retransmissão Yaler (divulgação: sou um fundador) para fornecer acesso SSH de qualquer lugar ao Raspberry Pi 2.
Material
- Raspberry Pi 2 (ou qualquer modelo), por exemplo
- Cabo USB, A / Micro B, por exemplo
- Cartão Micro SD, 4 GB, por exemplo
- Cabo Ethernet, por exemplo
Também necessário
- Computador de mesa ou laptop
- Rede local com DHCP
(Observação: etapas 3-5 com base nos tutoriais CC BY-SA Yaler. As etapas 1 e 2 permitem que você comece do zero.)
Etapa 1: Instale o Raspbian
(Se você já tiver o Raspbian em execução, pule esta etapa.)
Baixe a imagem
Vamos usar a imagem Raspbian Jessie (Lite) que tem sshd rodando por padrão. Isso é uma vantagem para a configuração "sem cabeça" sem tela, mouse ou teclado.
- Obtenha a imagem Raspbian mais recente em https://www.raspberrypi.org/downloads/ ou use este link direto.
- Descompacte o ZIP da imagem para obter o arquivo de imagem IMG
Prepare o cartão SD no Mac OSX
Existem muitas maneiras de preparar o cartão SD em um Mac. Aqui está o meu favorito:
- Obtenha a ferramenta PiFiller em https://ivanx.com/raspberrypi/ ou use este link direto.
- Inicie o PiFiller e selecione o arquivo de imagem IMG baixado acima
Prepare o cartão SD no Windows
- Obtenha o Win32 Disk Imager em
- Inicie a ferramenta e selecione o IMG baixado acima (verifique a unidade)
Prepare o cartão SD no Linux
- Siga as etapas em
Use o cartão SD
- Insira o cartão SD no Raspberry Pi 2
- Conecte o cabo Ethernet à sua rede local
- Conecte o cabo USB para alimentar o dispositivo e aguarde …
Feito. Depois de alguns minutos, Raspbian deve se levantar.
Etapa 2: Encontre o Raspberry Pi 2 em sua rede local
(Se o Raspberry Pi 2 tiver uma tela, mouse e teclado, pule esta etapa.)
Onde está meu Raspi?
Assim que o Raspbian estiver instalado e o Raspberry Pi 2 conectado à rede local, ele deve obter automaticamente um endereço IP com DHCP e começar a executar o sshd, que escuta as conexões SSH de entrada na porta 22. Mas qual é o IP?
Vamos dar uma olhada
Uma maneira de encontrar o endereço IP local do Raspberry Pi 2 (e de qualquer outro dispositivo) é usar a ferramenta de linha de comando nmap.
- Obtenha o nmap em
- Para obter o endereço IP local do seu computador, abra um terminal e digite
$ ifconfig
resultando em algo como en0: flags =… 192.168.0.7 netmask…
- Inicie uma consulta nmap para a porta 22 usando seu prefixo de endereço IP local, por exemplo
$ nmap 192.168.0.0-255 -p22
- Verifique o resultado (se houver vários IPs, geralmente é o mais alto)
Certifique-se de que é seu
- Obtenha acesso SSH local ao Raspberry Pi 2 com ssh, usando seu IP local, por exemplo, $ ssh [email protected]
- Digite a senha, por padrão é framboesa
- Altere a senha digitando
$ passwd
Feito? Seu Raspberry Pi 2 agora está pronto para ser conectado ao serviço de retransmissão.
Etapa 3: instalar o daemon YalerTunnel
Visão geral
O daemon YalerTunnel é um pequeno software que colocaremos em seu Raspi para conectar serviços locais em execução no dispositivo ao serviço de retransmissão na nuvem. Assim:
Relay Service <- Firewall Local SSH Service
Obtenha um domínio de retransmissão
Cada dispositivo conectado ao serviço de retransmissão precisa de um domínio de retransmissão.
- Obtenha uma conta de teste gratuita incluindo um domínio de retransmissão em
(Ou, para hospedar seu próprio relé para uso não comercial, consulte
Instale YalerTunnel
Vamos construir o daemon YalerTunnel a partir da fonte.
- Abra um shell em seu Raspberry Pi 2 e atualize o apt-get com
$ sudo apt-get update
- Baixe e instale libssl com
$ sudo apt-get install libssl-dev
- Crie um diretório yalertunnel
$ mkdir yalertunnel
$ cd yalertunnel
- Baixe, descompacte e construa a fonte YalerTunnel
$ wget
$ tar xfzmv YalerTunnel2.src.tar.gz $./configure && make
Feito? Então vamos iniciar o daemon.
Etapa 4: iniciar o daemon YalerTunnel
Habilitar acesso SSH via Yaler
$ sudo apt-get install runit
- Crie um diretório de serviço yalertunnel-ssh
$ sudo mkdir / etc / service / yalertunnel-ssh
$ cd / etc / service / yalertunnel-ssh
- Baixe o script de execução yalertunnel e torne-o executável
$ sudo wget https://s3.yaler.net/raspi/run-ssh -O run
$ sudo chmod a + x run
- Baixe o script de acabamento yalertunnel e torne-o executável
$ sudo wget
$ sudo chmod a + x terminar
- Abra o script de execução com
$ sudo nano / etc / service / yalertunnel-ssh / run
- Verifique o caminho (padrão: / home / pi / yalertunnel), defina a porta do serviço SSH local (padrão: 22) e defina seu domínio de retransmissão
1 #! / Bin / sh
⋮ 6 exec / home / pi / yalertunnel / proxy yalertunnel 127.0.0.1:22 try.yaler.io:80 RELAY_DOMAIN & 1 | logger -t yalertunnel-ssh
Salve as alterações com CTRL-X, depois Y e RETURN. Não altere o IP local (padrão: 127.0.0.1), a menos que o serviço SSH seja executado em um dispositivo separado na mesma rede.
- Reinicialize seu Raspberry Pi 2 para executar o script
$ sudo reboot
Feito. Agora vamos ver como acessar o Raspi.
Etapa 5: Acesse o Raspberry Pi 2 com um cliente SSH
Usando Putty no Windows
- Siga as etapas
Usando ssh no Mac ou Linux
Ao contrário do Putty, o comando ssh não oferece suporte a "HTTP CONNECT", portanto, também precisamos do YalerTunnel neste lado do relé. Veja como fica:
Cliente SSH -> YalerTunnel no Modo Cliente -> (Firewall) -> Serviço de Retransmissão
Instale YalerTunnel no Mac ou Linux
- Certifique-se de que o JDK6 (ou posterior) esteja instalado
- Certifique-se de que sua variável de ambiente PATH contém o diretório bin do JDK
- Obtenha o código-fonte YalerTunnel Java em
- Descompacte o arquivo ZIP, abra um terminal e crie YalerTunnel com
$ javac YalerTunnel.java
Acesse remotamente o Raspberry Pi 2 com SSH
- No computador cliente, para iniciar YalerTunnel no modo cliente, digite
$ java YalerTunnel cliente localhost: 10022 try.yaler.io:80 RELAY_DOMAIN
- Em um segundo terminal, no computador cliente, acesse seu dispositivo através do YalerTunnel local com ssh
$ ssh pi @ localhost -p 10022 -o ServerAliveInterval = 5
Feito. Agora você deve ter acesso SSH ao seu Raspberry Pi 2.
Solução de problemas
Se não houver conexão
- Certifique-se de usar o domínio de retransmissão correto
- Para ver se o serviço YalerTunnel está sendo executado no seu dispositivo, digite
$ ps aux | grep [y] aler
É isso. Obrigado por ler até o fim. Se você tiver dúvidas, entre em contato.