Uma pergunta semelhante foi feita antes: Como configurar o Raspberry Pi sem um monitor?
No entanto, considerando que a resposta aceita não parece oferecer uma solução apropriada, e considerando que há um nível de ambiguidade no que estava sendo solicitado, estou assumindo que a pergunta original foi mal construída e que minha pergunta não é ' uma duplicata exata.
Estou realizando a primeira configuração inicial de um Pi. Não tenho monitor ou teclado, mas quero usar um laptop conectado para fazer o trabalho. Eu não quero comprar um monitor ou teclado e tê-los sentados apenas nas ocasiões em que eles precisam do Pi. Eu poderia emprestá-los, mas pretendo comprar mais Pi's no futuro e não quero ter que emprestá-los todas as vezes.
Eu configurei um endereço IP estático no Pi editando o cmdline.txt
arquivo. (O Pi está executando a versão mais recente do Raspbian.)
ip=10.0.0.20
Dei à eth
interface do meu laptop um endereço IP estático correspondente. (O laptop está executando o Ubuntu.)
ip ad add 10.0.0.10/24 dev eth0
Conectei os dois com um cabo Ethernet e posso executar o ping com êxito no Pi do meu laptop.
O que não posso fazer é ssh
com o Pi. Estou recebendo uma resposta recusada pelo Connection :
richard@richard-ThinkPad-X220:~$ ssh -vvv [email protected]
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.0.0.20 [10.0.0.20] port 22.
debug1: connect to address 10.0.0.20 port 22: Connection refused
ssh: connect to host 10.0.0.20 port 22: Connection refused
Uma coisa que isso implica é que sshd
ainda não está sendo executado no Pi.
Os documentos oficiais afirmam que são sshd
executados por padrão, mas é possível que durante uma inicialização inicial outras coisas (por exemplo, solicitando a espera da entrada do usuário) possam bloquear a inicialização em um determinado nível, o que significa que não chegamos ao ponto em que sshd
é iniciado ?
Para onde eu vou daqui? (Não "para as lojas para comprar um monitor" ...)
O que estou tentando é realmente possível?
Editar:
Agora eu tentei os métodos mencionados nas respostas da seguinte postagem, mas sem sucesso: Habilitando o SSH no RPi sem tela - pressionamentos de tecla para raspi-config?
Especificamente, garantir que o script init SSH seja executado no nível de execução 2 ainda não me permitiu conectar.
ssh [email protected]
Parece que nãossh
é importante dizer-nos como você realmente tenta .ping [email protected]
. Mas isso não funciona porqueraspberrypi.local
é um host desconhecido. Não seria necessário entrar no/etc/hosts
meu laptop para resolvê-lo?sudo nmap 10.0.0.20
no laptop. Se mostrar que a porta 22 está aberta, o SSH está sendo executado, caso contrário, não está sendo executado. Não vai consertar, mas vai te dizer o que está acontecendo.Respostas:
Na última imagem que tenho, 2015/11/21-raspbian-jessie- Lite .img, isso não é verdade. Atualmente, o Debian / Raspbian jessie usa systemd para init, mas há um tipo de mecanismo híbrido compatível com SysV embutido, e reparei no sistema em execução que criei a partir desta imagem (usando uma tela e um teclado para a configuração inicial), onde sshd agora está ativado, há um gatilho em ambos o systemd e os antigos SysV
rc.d
diretórios. Presumivelmente, é assim que o mecanismo compatível com versões anteriores funciona (eu habilitei o ssh via systemd). De qualquer forma, há apenas umasshd
instância com um PPID de 1 em execução.Para o sistema em funcionamento, há uma entrada
/etc/rc[2,3,4,5].d
paraS02ssh
(o número exato de prioridade, 02, é definido quando o serviço está ativado e pode variar). Há também um/etc/systemd/system/multi-user.target.wants/ssh.service
.Na imagem base, no entanto ...
... Não há entrada
/etc/systemd
e existe umK01ssh
para os níveis de execução 2, 3, 4, 5. Isso praticamente garantirá que nenhum sshd esteja em execução.Minha sugestão é primeiro tentar definir apenas a entrada SysV. No
etc
diretório da segunda partição no cartão SD:Verifique se os links estão lá e apontam para o lugar certo
stat
. Eu acredito que isso deve ser suficiente e agora você pode tentar inicializar o sistema. Nesse caso, depois de remover esses links e executá-lossystemctl enable ssh
, verifique se os links foram recriados (lembre-se, a prioridade pode ser diferente).Se você ainda receber "Conexão recusada", crie um link a partir
[SD_rootfs]/lib/systemd/system/ssh.service
de[SD_rootfs]/etc/systemd/default.target.wants/ssh.service
e tente novamente.fonte
K01ssh
norc2.d
diretório e o renomeei, mas não tinha visto os outros nos outrosrc
diretórios. Remover aqueles que usam seu script não ajudou, infelizmente. (Verifiquei se eles foram criados, como você sugeriu.) Para o segundo método, não tenho umassh.service
entrada noetc/systemd/system/multi-user.target.wants/
diretório e olib/systemd/system/
diretório não está acessível. O sistema não pode nem dizer que é um diretório (e a execuçãofile
me fornece:ERROR: cannot open
lib / systemd / system '(erro de entrada / saída) `).systemd
arquivos que você mencionou estavam presentes, então tentei sua segunda sugestão, que funcionou :) Não sei por que as coisas eram diferentes entre as imagens, mas poderia ter sido meu hacking que afetou algo na primeira imagem. (Eu não tenho idéia do que ...) Muito obrigado por sua ajuda.lib/systemd/system/
diretório estava inacessível. O mesmo vale para uma imagem Wheezy. Somente a imagem Lite me permitiu acessar o diretório e, portanto, concluir as instruções.Para aqueles que se deparam com isso com as imagens Raspbian mais recentes: existe um
sshwitch
destino systemd, que verifica/boot/ssh
e, se esse arquivo estiver presente, ele regenera as chaves do host SSH e habilita o servidor SSH.Portanto, para ativar o SSH, basta adicionar um arquivo chamado
ssh
na raiz da partição de inicialização (a FAT, com obootcode.bin
arquivo) e inicializar o seu Pi!Edit: isso funcionou na minha imagem 2017-01-11-raspbian-jessie-lite.
fonte
Desculpe por ser uma resposta, mas não o suficiente para comentar.
O serviço ssh está ativo? Se possível, e é uma das imagens de instalação do raspberry, tente raspi-config apenas para ativar o ssh.
Outra maneira, verifique se o ssh está carregado e ativado
Talvez a porta ssh 22 rejeite a conexão porque o serviço não está pronto
fonte
systemctl --list-units | grep ssh
(ou melhor ainda, o mais informativosystemctl status ssh
). Mas você está essencialmente correto: "Conexão recusada" significa que nada está escutando na porta. Se o ssh estiver em execução, o IP está errado.https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/ Este link para o sistema operacional versão Rasbian PIXEL.
fonte
/boot/ssh
correção.A versão do Jessie Lite de 26 de fevereiro de 2016 tem o ssh ativado por padrão.
fonte