Como obter acesso SSH ao Headless Raspbian Stretch Lite? Maneira oficial parece não funcionar

1

Eu não consegui ativar ssh colocando o arquivo na pasta de inicialização e, sim, ele foi criado sem extensão de uma máquina Windows 7 e foi excluído após a inicialização.

Isso é o que deveria ter acontecido:

For headless setup, SSH can be enabled by placing a file named ssh, without any extension, onto the boot partition of the SD card from another computer. When the Pi boots, it looks for the ssh file. If it is found, SSH is enabled and the file is deleted. The content of the file does not matter; it could contain text, or nothing at all.

( Fonte )

Eu não quero ir para o Keyboard & Monitore como posso obter o IP atribuído ao Respberry Pi 3 quando me conecto com ethernet e também posso pingar com 0% de perda.

Depois de procurar uma resposta, fiquei sabendo que o ssh não está habilitado e é por esse motivo que putty retorna a conexão recusada em todas as tentativas.

Agora eu vejo que há cmdline.txt na pasta de inicialização é algo que é executado em cada inicialização? Posso usar para ativar ssh ? Se sim, como fazer isso?

Aqui estão todos os detalhes, deixe-me saber se algo mais é necessário.

  • Meu sistema: Atualização 1 do Windows 7
  • Modelo de framboesa: Raspberry Pi 3 B
  • Raspberry OS: Raspbian Stretch Lite
  • Monitor: não
  • Teclado: não
  • Ping Request: respondeu sem perda de pacotes
  • Tipo de conexão: Ethernet
  • SSH: não ativado (como?)

EDITAR : Agora eu sou capaz de montar o 'rootfs' para a minha máquina windows 7 com Paragon ExtFS para Windows, mas não sei como habilitar ssh ainda, qualquer ajuda é apreciada

    
por Vinod Srivastav 22.12.2017 / 11:40

2 respostas

1

Por fim, consegui encontrar uma maneira alternativa de ativar ssh . Vou tentar resumir aqui. Eu tentei PiBakery também, mas ele estava muito pesado com nodejs e continua travando em todas as tentativas.

O problema: o formato Ext4 não é legível nas janelas

Então, depois de gravar o Raspbian por meio de qualquer ferramenta de gravação do img, ele cria duas partições Boot & %código%. A partição rootfs é formatada em FAT e só será visível para as janelas, enquanto a boot estava com rootfs e não será visível ( você pode confirmar isso visualizando-a no Assistente de Partição da partição do MiniTool )

Missão: Editar a configuração do Windows para forçar a ativação de Ext4

Minha missão era forçar a ativação de ssh , pois não estava funcionando com as instruções oficiais ( colocando o arquivo ssh na partição de inicialização) . Então eu baixei o Paragon ExtFS para Windows que permite ao Windows 7 navegar / editar arquivos em ssh partição, montando-o como nova unidade.

Antes disso eu também tentei Ext2Fsd-0.69 mas não era compatível com o Windows 7 e o outro ext2explore-2.2.71 só é capaz de visualizar arquivos para não editar eles. Nada funcionou para mim

O hack: Edite o arquivo Ext4 do windows 7

Depois de pesquisar por quase todo o dia eu pude conhecer duas coisas

  1. Os comandos podem ser executados editando o arquivo /etc/rc.local na partição /etc/rc.local
  2. Comando para iniciar rootfs is ssh

Então eu editei o arquivo /etc/init.d/ssh start colocando o rc.local antes do /etc/init.d/ssh start para que ele seja executado em cada inicialização, como segue

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

/etc/init.d/ssh start
exit 0

E funcionou !! Eu sei que não é um bom caminho, mas pode ser útil para alguém em necessidade. Devo agradecer @KamilMaciorowski por sua gentil ajuda & edições.

Por favor, comente abaixo se você vir algum problema que possa surgir por causa disso.

    
por 22.12.2017 / 23:59
0

Parece que você não estava trabalhando com uma nova cópia do Raspbian porque o método oficial funciona apenas na primeira vez que você inicializa uma nova cópia do Raspbian. Depois disso, você tem que fazer a imagem do cartão novamente.

Configuração Raspbian Headless com o Windows 10

  1. Comece com uma nova cópia do Raspbian no seu cartão SD usando qualquer método padrão . Se você já usou o cartão em um Raspberry Pi, você precisará começar do começo. Quando você terminar, procure por um dispositivo externo com o rótulo "boot". Esta é a sua partição de inicialização do Raspberry Pi.
  2. Se você não puder ver sua partição de inicialização no Gerenciador de Arquivos , talvez seja necessário atribuir uma letra de unidade. Uma maneira de fazer isso no Windows 10 é clicar com o botão direito do mouse no menu Iniciar e clicar em "Gerenciamento de disco". Isto irá mostrar todas as partições do seu computador. Encontre um rotulado "boot". Clique com o botão direito do mouse na partição e clique em "Alterar letra e caminhos da unidade ..." Clique em "Adicionar ..." na próxima caixa de diálogo e aceite o padrão (ou altere-o para uma letra não usada). Depois de aceitar essas alterações, você poderá ver a partição de inicialização no File Explorer e continuar com as outras instruções.
  3. Opcional: Defina o seu Raspberry Pi para se conectar à sua rede WiFi, criando um arquivo de texto simples chamado wpa_supplicant.conf na partição de inicialização com suas preferências de rede WiFi, conforme descrito here. Substitua YourNetworkSSID e Your Network's Passphrase no exemplo abaixo:

    country=US
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
      ssid="YourNetworkSSID"
      psk="Your Network's Passphrase"
      key_mgmt=WPA-PSK
    }
    
  4. Opcional: Ative o servidor SSH criando um arquivo chamado ssh na partição de inicialização sem extensão de arquivo. Você pode fazer isso clicando com o botão direito do mouse dentro da partição de inicialização e selecionando "Novo" e "Documento de texto". Use ctrl-a para selecionar o nome do arquivo inteiro (incluindo .txt ) e renomeie para ssh . O Windows avisará que você pode estar inutilizando o arquivo. Tudo bem.
  5. Opcional apenas para Raspberry Pi Zero: Configure seu Raspberry Pi Zero como um dispositivo Ethernet USB para que você possa conectar a porta micro USB à porta USB do computador e conectá-la diretamente conforme descrito aqui . Encontre o arquivo chamado config.txt em sua partição de inicialização e edite-o no Bloco de Notas (ou em outro editor). Coloque dtoverlay=dwc2 no final do arquivo em sua própria linha, salve e feche o arquivo. Arquive o arquivo chamado cmdline.txt em sua partição de inicialização e edite-o no Bloco de Notas (ou em outro editor). Encontre a palavra "rootwait" nesse arquivo e coloque outro espaço logo em seguida, seguido por modules-load=dwc2,g_ether . Deve haver apenas uma linha com texto nesse arquivo. Não quebre novas linhas.
  6. Você pode achar mais fácil determinar o endereço IP do Raspberry Pi depois de ligá-lo, se você instalar os Serviços de Impressão Bonjour da Apple na sua máquina Windows. Você pode encontrá-lo aqui ou apenas pesquisar no Google se o link morrer.
  7. Ejete o cartão SD do seu computador e coloque-o no Raspberry Pi. Se você seguiu o passo 5 acima, você pode conectar o Raspberry Pi diretamente à porta USB do seu computador. Se você seguiu as etapas 4 e 6, poderá usar o ssh no endereço raspberrypi.local atribuído pelos serviços de impressão Bonjour da Apple. Caso contrário, ligue-o como faria normalmente e conecte-se via Ethernet ou Wi-Fi ou como planejasse fazê-lo.

Aproveite!

    
por 05.01.2018 / 00:12