ssh não está funcionando


10

Eu não sou capaz de ssh no meu pi. O RPI está conectado diretamente ao meu PC host.

Eu configurei o endereço IP do meu host: ----

sudo ifconfig eth0 192.168.0.204 netmask 255.255.255.0 up
sudo route add default gw 192.168.0.200

Pi tem IP padrão no arquivo de interfaces de rede como: ----

auto lo eth0
iface lo inet loopback
iface eth0 inet static
    address 192.168.0.202
    netmask 255.255.255.0
    gateway 192.168.0.200

se comando de configuração no meu PC: -----

ignite@ignite-desktop:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:f3:a6:1b  
          inet addr:192.168.0.204  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6ef0:49ff:fef3:a61b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:43752 (43.7 KB)  TX bytes:33407 (33.4 KB)
          Interrupt:26 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1012 (1.0 KB)  TX bytes:1012 (1.0 KB)

Ping está trabalhando para o mesmo host: ----

ignite@ignite-desktop:~$ ping 192.168.0.204
PING 192.168.0.204 (192.168.0.204) 56(84) bytes of data.
64 bytes from 192.168.0.204: icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from 192.168.0.204: icmp_seq=2 ttl=64 time=0.018 ms
64 bytes from 192.168.0.204: icmp_seq=3 ttl=64 time=0.017 ms
64 bytes from 192.168.0.204: icmp_seq=4 ttl=64 time=0.014 ms

Ping está trabalhando para pi do meu PC host: ----

ignite@ignite-desktop:~$ ping 192.168.0.202
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data.
64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=0.530 ms
64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=0.508 ms
64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=0.464 ms
64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=0.445 ms
64 bytes from 192.168.0.202: icmp_seq=5 ttl=64 time=0.434 ms

SSH não está funcionando

ignite@ignite-desktop:~$ ssh pi@raspberrypi
ssh: Could not resolve hostname raspberrypi: Name or service not known

ignite@ignite-desktop:~$ ssh pi@192.168.0.202
Read from socket failed: Connection reset by peer

ignite@ignite-desktop:~$ ssh 192.168.0.202 -l pi
Read from socket failed: Connection reset by peer

Por favor, sugira como resolvê-lo?

edit: ---
ssh -vvv pi@192.168.0.202 ---> a saída é

ignite@ignite-desktop:~$ ssh -vvv pi@192.168.0.202
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.202 [192.168.0.202] port 22.
debug1: Connection established.
debug1: identity file /home/ignite/.ssh/identity type -1
debug1: identity file /home/ignite/.ssh/id_rsa type -1
debug1: identity file /home/ignite/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-2
debug1: match: OpenSSH_6.0p1 Debian-2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

11
Você verificou se o daemon ssh está em execução?
Codec #

Na verdade, eu não tenho uma tela HDMI e estava usando meu computador desktop remoto para fazer logon no pi usando ssh. Agora, como posso verificar?
Allan

ps aux | grep sshd
codey

Se o sshd estiver em execução, a saída mostrará o (s) processo (s) sshd. Além do "grep sshd" que acabamos de executar, é claro.
Codec #

Respostas:


5

Eu tive o mesmo problema com o raspbian recém-instalado e o problema estava nas chaves de host ssh do lado do servidor.

Essas chaves não são geradas na imagem pelas razões que cada dispositivo deve ter chaves ssh diferentes e, durante a primeira inicialização, essas chaves são geradas automaticamente.

Meu problema era que, provavelmente, durante a geração dessas chaves, eu desconectei a fonte, elas estavam erradas com o tamanho zero.

A solução é gerar novamente as chaves do host do servidor ssh:

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

https://wiki.debian.org/SSH#Regenerating_host_keys


2
como deve gerar novamente as chaves do host do lado do servidor ssh (dpkg-reconfigure openssh-server) se não puderem fazer login em primeiro lugar?
Hayri Uğur Koltuk 18/04/19

Exatamente @ HayriUğurKoltuk Estou no mac, como eu poderia fazer isso?
clearlight 20/12/18

4

Motivo do problema e correção

Sem programas especiais, você não pode ssh no Pi usando seu nome de host. Para redes LAN, execute ping no host. Depois de ter o IP, anote-o. Em seguida, escreva no terminal:

ssh pi@this_is_the_ip

e você deve conseguir fazer login.

Se você deseja acessar o Pi de fora da sua rede doméstica, deve encaminhar o roteador para a porta . De fato, há uma questão de troca de pilhas sobre como fazer isso.

Supondo que você ainda queira usar um bom nome para o seu Pi, existe uma opção que funcionará tanto dentro da sua rede quanto sem ela.

DNSDynamic

Este software permite que você configure um nome de domínio para o seu pi.

  1. Vá para o site deles e configure um nome de domínio e uma conta.

  2. Instale ddclientno seu Pi.

    sudo apt-get install ddclient 
    

    E edite as configurações.

    sudo nano /etc/ddclient.conf
    

    Por fim, altere o arquivo para o seguinte:

# /etc/ddclient.conf

daemon=600

timeout=10

ssl=yes

protocol=dyndns2

use=web, web=myip.dnsdynamic.com #Enter your URL here

server=www.dnsdynamic.org

login=x@gmail.com  #userid for dnsdynamic.com

password='xxxx'      #password for the same put inside quotes

x.dnsdynamic.com  #the domain name you created

Supondo que você deseja que isso inicie automaticamente sempre que o computador for ativado, digite o seguinte no terminal.

sudo nano /etc/rc.local

Adicione o seguinte comando antes exit 0(que é a última linha)

sudo /usr/sbin/ddclient -daemon 600 -syslog

Por fim, você ainda deve seguir em frente.

Espero que isso seja útil. Faça perguntas na seção de comentários abaixo.


Na verdade eu compilei e instalei o openssl mais recente no meu RPi de destino. Agora o ssh não está funcionando para mim O ssh depende do openssl?
Allan

O SSL (camada de soquetes seguros) não é necessário para executar o SSH. Na verdade, pode ser o problema nesta configuração. Mas, tente usar o IP local do Pi em vez de seu nome de host.
Xxmbabanexx

Eu publiquei o / p para -----> ssh -vvv pi@192.168.0.202 ---> você pode sugerir qual é o problema
Allan

i regenerado chaves no meu host & alvo .. removido conhecido arquivo host do ~ / .ssh ... funcionou ...
Allan

remova todo o arquivo de: --- / etc / ssh ----> exceto shh_config ---> e alterou a configuração do ssh conforme este link ---> blog.harshadura.net/2012/01/…
Allan

0

Você pode dar uma olhada na minha resposta para essas perguntas.

Como obter o endereço IP do Raspberry Pi para SSH

Outra possibilidade que eu não mencionei é comprar um domínio (é muito barato) e brincar com o DNS. Comprei o domínio aasgard.infopor 0,99 centavos e atribui o nome ygdrasill.aasgard.infoa um endereço interno ( 192.168.1.141neste caso). Então você precisa definir o domínio padrão como o nome do domínio que você comprou e pronto ':)

Devo confessar que, depois de ter gasto todo o tempo para configurar o domínio, percebi que usar o arquivo / etc / hosts ou avahi era muito mais fácil :)


0

Tem certeza de que iniciou um servidor SSH no seu Raspberry Pi? Só porque você pode executar ping não significa que ele esteja executando um servidor SSH. Tente sshdum servidor SSH leve.


0

Ativar SSH

Desde a versão de novembro de 2016, o Raspbian tem o servidor SSH desativado por padrão.

Pode ser ativado manualmente no Terminal:

sudo raspi-config
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish

ou

Launch Raspberry Pi Configuration from the Preferences menu
Navigate to the Interfaces tab
Select Enabled next to SSH
Click OK

Como alternativa, use systemctl para iniciar o serviço

sudo systemctl enable ssh
sudo systemctl start ssh

-1

A conectividade SSH é DESATIVADA por padrão no último raspberry pi. O RPi lançado em / após novembro de 2016.

Os passos são: 1) Escreva uma imagem raspbian no cartão SD. 2) crie um arquivo ssh sem extensão. 3) copie esse arquivo ssh para o cartão SD em que sua imagem está gravada. 4) Finalmente, você poderá fazer o SSH do seu pi de framboesa.

Para mais detalhes, assista a este vídeo: https://www.youtube.com/watch?v=zKT6bTESlLs


2
Bem-vindo ao Raspberry Pi! Faça o tour e visite o centro de ajuda para ver como as coisas funcionam aqui. Observe que esta pergunta é de 2013. Naquela época, o problema que você descreveu não foi um problema ...
Ghanima
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.