Eu tenho um Raspberry Pi modelo B em casa, mas não tenho uma tela. Meu plano é conectá-lo à Ethernet e depois ssh. Mas isso significa que o cartão SD com o sistema operacional (Debian Squeeze) precisa ser preparado primeiro. Eu vejo duas maneiras:
Prepare o SD com o sistema operacional para que o RPi sempre se conecte à Ethernet em um endereço IP fixo e habilite um servidor SSH.
Prepare o SD com o sistema operacional de forma que o RPi se conecte à rede, habilite um servidor SSH e depois transmita seu endereço IP para que eu possa fazer o ssh nele.
Qual dessas maneiras é mais fácil? E como eu faço isso? Existem outras maneiras?
Eu tenho as seguintes ferramentas: Ubuntu 10.4, MacOS 10.5, Windows 7, mas apenas o Ubuntu tem um leitor de cartões. Infelizmente não consigo acessar a tabela DHCP do meu roteador, ela está completamente fechada.
Respostas:
Para ativar o ssh na inicialização, faça backup
boot.rc
na partição de inicialização na imagem SD e substitua-a porboot_enable_ssh.rc
Não conheço o seu roteador, mas você pode configurá-lo para reservar um endereço IP fixo para o endereço MAC do seu Pi.
fonte
Copie
boot_enable_ssh.rc
paraboot.rc
de/boot
no Raspberry Pirootfs
(cartão SD)Ainda no Raspberry Pi
rootfs
, edite/etc/network/interfaces
para atribuir um endereço IP fixo (portanto, nenhum servidor DHCP é necessário). Por exemplo,Inicialize o seu Raspberry Pi, use um cabo Ethernet para conectá-lo à mesma rede à qual o seu PC está conectado (ou diretamente ao seu PC) e faça o login via SSH:
Instale um servidor VNC leve no seu Raspberry Pi:
Em seguida, inicie o servidor VNC (você será solicitado a definir uma senha):
Instale um cliente VNC no seu PC:
Em seguida, conecte-se ao seu Raspberry Pi via VNC no seu PC:
Apenas funciona aqui dessa maneira :)
fonte
Nenhuma das
boot_enable_ssh.rc
coisas existe nas versões Raspian atuais. Você inicializa, um bom menu gráfico oferece algumas opções (incluindo se o SSHD deve ser carregado na inicialização) e o despeja em uma linha de comando.Isso é ótimo se ... você é um usuário gráfico.
Caso contrário, você fica na posição em que precisa executar de alguma forma externamente
update-rc.d
. Tudo o que isso realmente faz é criar um link simbólico para o/etc/init.d/...
script em vários pontos do/etc/rc{0..6}.d/...
sistema de arquivos. Confuso? Não importa - fazer o dano é simples.Suponho que você esteja fazendo isso em um computador Linux. Pelo menos algo usando bash, ou algo compatível. O que estou sugerindo não funcionará no Windows sem o Cygwin (ou outro). Monte o cartão SD e
cd
nele.Corre:
Desmonte e inicialize. Você deve ter acesso a ele pelo SSH.
Se você está lutando para encontrá-lo em sua rede ...
Três opções para você:
ifconfig
(trapaça!)Use
nmap
em outro computador para procurar por ele. Você deve saber qual IP ele possui (aproximadamente a / 24), para que a digitalização seja simples:fonte
ping -b 192.168.0
ou equivalente? Não tenho certeza de quão viável isso, pois acabei de testar isso em dois roteadores sem sucesso. Parece ser comumente bloqueado.arping
; faz o que os comandos ping e arp separados imporiam, mas sem inundar a rede com pacotes ICMP.arp -a
não faz isso por conta própria.Se você usa a distribuição Arch Linux , basta conectá-lo e aguardar que ele obtenha o endereço atribuído a partir de um servidor DHCP . Você pode verificar o status do DHCP (conectando-se ao seu roteador, por exemplo) e recuperar o endereço IP da lista de clientes conectados. Se isso falhar, você pode usar
nmap
ferramentas semelhantes para verificar a sub-rede inteira em busca da porta 22 aberta (o SSH está ativado por padrão).fonte
Após ataques massivos de botnets em 2016 devido a dispositivos IoT serem facilmente hackeados com senhas padrão, o Raspbian mais uma vez vem com o SSH desativado por padrão ( fonte ).
A correção é bem fácil, basta criar um arquivo na
boot
partição (não no diretório do sistema de arquivos raiz) chamadossh
. Para verificar se você está na partição correta, ele deve ter um arquivo chamadostart.elf
.Não esqueça de alterar sua senha depois!
Para encontrar meu Pi na minha rede, usei
sudo arp-scan -l
, emborasudo nmap -sS --open -O 192.168.1.0/24
também seja uma opção válida, mas mais lenta.fonte
Usando a imagem beta do Debian 7 (Wheezy), o SSH é instalado e ativado por padrão. Você só precisa se conectar a ele através do seu endereço IP.
Existem algumas maneiras de descobrir em que endereço IP o Raspberry Pi está, sem precisar executá
ifconfig
-lo diretamente, por exemplo:fonte
A maneira mais fácil (se você tiver apenas um teclado)
O SSH não está ativado por padrão no Debian Wheezy (Raspbian).Era uma vez, o SSH definitivamente não estava ativado nas minhas imagens Raspbian. Aparentemente, o SSH está ativado por padrão agora. Mas se não estiver e você estiver preso, continue lendo:Habilitar é muito simples, muito mais simples do que a maioria das respostas que já vi aqui, se você tiver um teclado USB:
Ative o SSH com:
Digite a senha "raspberry" novamente, apenas por precaução, pois é um
sudo
comando e pressione Enter.Agora você deve poder conectar-se remotamente ao seu RPi pelo endereço IP na sua rede.
Como Denis Mitropolskiy mencionou , o utilitário de configuração facilita a configuração do SSH neste momento:
Basta ir para a opção "ssh". Felizmente, isso funciona em uma sessão SSH; portanto, o único comando que você precisa executar "às cegas" é o primeiro acima.
fonte
Não sei se o SSH funciona ou não, mas a versão mais recente do utilitário de configuração possui o comando "Ativar SSH". Depois disso, consegui me conectar ao meu Raspberry via rede. Mas para habilitá-lo, você precisa de um monitor de qualquer maneira.
fonte
Uma ressalva: com o Arch Linux , isso funcionava para mim apenas se eu tivesse ligado a Ethernet antes de inicializar o Raspberry Pi (e funcionava bem: o sshd era ativado por padrão). Se eu inicializar pela primeira vez e conectar o cabo Ethernet, o Raspberry Pi nunca entrará em contato com o servidor DHCP para obter um endereço IP.
fonte
Sem roteador + sem tela + cabo Ethernet normal + RPI 2 + Raspbian Lite 2018-11-13 + host Ubuntu 18.10
Primeiro, devemos ativar o servidor SSH no Pi, que está desativado por padrão por segurança.
Se você já possui um shell no Pi por um método não SSH, como tela + teclado ou UART (veja abaixo), basta executar:
conforme explicado em: SSH não está funcionando com a instalação nova Isso persiste nas inicializações.
Caso contrário, insira o cartão SD no seu host e crie um arquivo vazio mágico chamado
ssh
file naboot/
partição.Nos hosts Ubuntu, ele é montado automaticamente e você pode fazer exatamente:
com o qual você pode confirmar:
que contém:
Se você não ativar o daemon SSHD no Pi, a conexão SSH falhará com:
quando tentamos mais tarde.
Depois de ativar o servidor SSH
Em seguida, inicialize o Pi e conecte um cabo Ethernet do seu laptop diretamente ao Pi:
No Ubuntu 17.04, para solucionar esse erro, conforme mencionado nesta resposta, você primeiro precisa:
No host, abra o gerenciador de rede:
E ir:
+
assinar (Adicionar uma nova conexão)Encontre o IP do Pi no host:
produz algo como:
10.42.0.160
é o IP, como sempre:Eu também tenho o seguinte no meu
.bashrc
:De dentro do Pi, observe que ele pode acessar a Internet normalmente por meio de outras interfaces do seu host:
Por exemplo, no meu laptop, o Pi ocupa a Ethernet, mas o host também está conectado à Internet por Wi-Fi.
O cabo cruzado não é necessário se a placa de rede host suportar Auto MDI-X . É o caso do hardware mais recente, incluindo, por exemplo, o Lenovo T430 2012 que eu testei, que possui uma "Conexão de rede Gigabit Intel® 82579LM" que documenta o suporte ao Auto MDI-X .
Agora você também pode:
Conversor USB serial UART
Esta é uma alternativa ao SSH se você quiser obter um shell no Pi: https://en.wikipedia.org/wiki/Serial_port
Isso não usa SSH ou a própria rede, mas a interface serial mais antiga, mais simples, mais direta, mais confiável, menor largura de banda e menor distância. O Pi não terá acesso à Internet com esse método.
Os computadores de mesa ainda têm uma porta serial na qual você pode conectar fio a fio com o Pi, mas estes estão ocultos na maioria dos laptops e, portanto, precisamos comprar um adaptador USB barato. Aqui eu usei: https://www.amazon.co.uk/gp/product/B072K3Z3TL Veja também: https://unix.stackexchange.com/questions/307390/what-is-the-difference-between- ttys0-ttyusb0-e-ttyama0-em-linux / 367882 # 367882
Primeiro conecte o cartão SD no host e edite o
config.txt
arquivo presente na primeira partição para adicionar:conforme explicado em: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Esta primeira partição contém o carregador de inicialização, seus arquivos de configuração e o kernel (Linux / your),
config.txt
sendo um deles. A segunda partição contém o sistema de arquivos raiz Linux real.Agora conecte seu computador ao Pi como:
Você só precisa conectar 3 cabos:
Isso também está documentado em: https://www.raspberrypi.org/documentation/usage/gpio/README.md
Cuidado para não ligar o terra aos 5V, já queimei 2 UART em chips USB ao fazer isso!
Você não precisa conectar o 5V ao 5V. Acho que você pode alimentar seu Pi dessa maneira, mas li que é uma má ideia, basta usar a fonte de alimentação USB usual.
Por fim, conecte o lado USB do conector ao computador host e obtenha um shell com:
Saia com
Ctrl-A \
.Aqui está um vídeo de Adafruit mostrando: https://www.youtube.com/watch?v=zUBPeoLW16Q
fonte
Se você usa o Debian, é muito fácil emprestar uma tela e rede para o seu RPi por apenas alguns minutos de um amigo. Caso contrário, você pode apenas testar os comandos para 'nmap' e 'ssh' do seu host Ubuntu.
Apenas verifique se o pacote openssh-server está instalado e você está pronto. Você faz isso na linha de comando com
aptitude install openssh-server
. Você também pode verificar ou renomear o RPi quando estiver conectado à máquina. Você também pode verificar que o pacoteavahi-utils
eavahi-daemon
são instalados, basta tentaraptitude install avahi-utils
.O pacote / programa avahi implementará o protocoll da Apple mDNS / DNS-SD, que será anunciado para outros computadores que usam esse protocoll como um computador no domínio DNS
local
. Portanto, se sua máquina for chamadarpi-machine
, tente conectar-se à máquina comrpi-machine.local
.Você pode verificar o arquivo
/etc/nsswitch.conf
para ver se você tem esta linha:Tanto a sua máquina Apple quanto o Ubuntu devem implementar isso. Sua máquina MS Windows 7 não faz isso. Na máquina Ubuntu, você pode tentar este comando:
ou
Você deve obter todas as suas máquinas e seus serviços, como SSH e HTTP listados.
Você também pode tentar instalar o pacote
nmap
na sua máquina Ubuntu. Então você pode verificar em qual rede você está usando o comandoip route list
para ver em qual rede IP você está. Por exemplo, na minha máquina, eu poderia obter algo parecido com isto (isto é do example.com, portanto, não use):me diz que estou na net
192.0.43.0/24
e o roteador está192.0.43.1
. Portanto, se você executar o comandonmap 192.0.43.0/24
, tentará encontrar todas as máquinas na sua rede e informar quais portas estão abertas. Procure por porta22/tcp
, pois esses são os servidores ssh.fonte
Consegui configurar meu PI de framboesa sem tela ou teclado usando as seguintes etapas:
Faça o download da imagem mais recente do debian-pi / raspbian-ua-netinst . O atual é
raspbian-ua-netinst-v1.0.7.img.bz2
. O arquivo baixado tem apenas 17 MB.Faça o download do " Apple Pi Baker App " e use este software para transferir a imagem para o seu cartão SD
Insira o cartão SD no seu PI e, após aproximadamente 15 minutos, o Raspbian mais recente será instalado.
Usando o Fing iPhone App , descobri o IP do PI, que é o meu caso
192.168.1.13
.Agora eu posso fazer o SSH para esse IP da seguinte forma:
E Voila, eu tenho acesso através do SSH sem fazer uma configuração tediosa.
Para sua informação:
raspbian-ua-netinst
oferece uma configuração mais avançada, portanto, consulte o Leia-me se desejar ajustar algumas dessas configurações iniciais.fonte
Uma das melhores maneiras de conectar-se após a configuração inicial é instalar o avahi-daemon no Raspberry Pi.
Depois de instalar o avahi-daemon no Raspberry Pi e Bonjour no computador host, você pode simplesmente fazer login usando raspberrypi.local como o nome do host. Portanto, não há necessidade de configurar o endereço IP , estático ou dinâmico.
Para instalar o avahi-daemon no Raspberry Pi:
E se você tiver o iTunes instalado no computador host, basta digitar raspberrypi.local no PuTTY , caso contrário, instale o Bonjour a partir daqui . Verifique este tutorial para obter mais informações.
fonte
Você pode
raspbian-ua-netinst
tentar: você pode encontrá-lo clicando aqui É o mínimo de instalador automático de Raspbian para Raspberry Pi Modelos 1B, 1B + e 2B. Nenhuma tela ou teclado é necessário. Eles têm um excelente manual de instalação noREADME.md
.Basicamente, você apenas formata um FAT para um cartão SD. Descompacte a última versão estável e insira o cartão SD no seu Raspberry Pi. Demora cerca de 20 a 30 minutos para instalar uma instalação Raspbian mínima e pronto. Vem com o SSH instalado por padrão. Existem algumas opções que permitem instalar pacotes e outros itens adicionais durante a instalação inicial. Você também pode adicionar pacotes mais tarde, obviamente.
fonte
Para Raspbian, achei este tutorial muito útil. Depois de executar as etapas descritas, pude fazer o SSH do meu laptop Windows 10 para o meu Raspberry PI com usuário
pi
e senharaspberry
.Mais especificamente, aqui está a parte relevante:
fonte
Desde que eu tinha outros Pis aos quais eu poderia me conectar, eu trapacei.
Tirei o cartão Micro SD do Pi que não me deixava conectar e o coloquei em um leitor USB em um dos Pis em funcionamento.
Em seguida, montei-o em uma pasta de teste (
sudo mount /dev/sda2 /mnt/test
) e depois ochroot /mnt/test
tratei como o novo shell.Eu habilitei o SSH com
systemctl enable ssh
. Retirou o cartão após desmontá-lo, inicializou o Pi e a porta SSH foi aberta e acessível.Funciona no Debian, tenho certeza de outros
systemd
sistemas de estilo também.fonte