ssh non funziona


10

Non sono in grado di entrare nel mio pi. RPI è collegato direttamente al mio PC host.

Ho impostato l'indirizzo IP del mio host: ----

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

Pi ha IP predefinito nel file delle interfacce di rete come: ----

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 config comand sul mio 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)

Il ping funziona per lo stesso 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 funziona per pi dal mio 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 non funziona

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

Si prega di suggerire come risolverlo?

modifica: ---
ssh -vvv pi@192.168.0.202 ---> l'output è

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

1
Hai verificato che il demone ssh è in esecuzione?
codice

in realtà non ho uno schermo HDMI e stavo usando il mio computer desktop remoto per accedere a pi usando ssh. Ora come posso verificarlo?
Allan,

ps aux | grep sshd
codey

Se sshd è in esecuzione, l'output mostrerà i processi sshd. Oltre al "grep sshd" che abbiamo appena eseguito, ovviamente.
codice

Risposte:


5

Ho avuto lo stesso problema con raspbian appena installato e il problema era con le chiavi host ssh lato server.

Questi tasti non vengono generati sull'immagine per i motivi per cui ogni dispositivo deve avere tasti SSH diversi e al primo avvio questi tasti vengono generati automaticamente.

Il mio problema era che probabilmente durante la generazione di queste chiavi ho disconnesso l'alimentazione, erano sbagliate con dimensione zero.

La soluzione è quella di rigenerare le chiavi host lato server ssh:

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

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


2
come si dovrebbero rigenerare le chiavi host lato server ssh (dpkg-reconfigure openssh-server) se non possono accedere in primo luogo?
Hayri Uğur Koltuk,

Esattamente @ HayriUğurKoltuk Sono su un mac, come potrei farlo?
Clearlight il

4

Motivo del problema e correzione

Senza programmi speciali, non puoi ssh nel Pi usando il suo nome host. Per le reti LAN, eseguire il ping dell'host. Una volta che hai l'IP, scrivilo. Quindi scrivere nel terminale:

ssh pi@this_is_the_ip

e dovresti essere in grado di accedere.

Se si desidera accedere al Pi dall'esterno della rete domestica, è necessario eseguire il port forwarding del router. In effetti, esiste una domanda di scambio di stack su come eseguire questa operazione.

Supponendo che tu voglia ancora usare un bel nome per il tuo Pi, c'è un'opzione che funzionerà sia all'interno della tua rete che senza di essa.

DNSDynamic

Questo software ti consente di impostare un nome di dominio per il tuo pi.

  1. Vai al loro sito Web e imposta un nome di dominio e un account.

  2. Installa ddclientsul tuo Pi.

    sudo apt-get install ddclient 
    

    E quindi modificare le impostazioni di configurazione.

    sudo nano /etc/ddclient.conf
    

    Infine, modifica il file nel seguente:

# /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

Supponendo che si desideri che questo si avvii automaticamente ogni volta che il computer si riattiva, immettere quanto segue nel terminale.

sudo nano /etc/rc.local

Aggiungi il seguente comando prima exit 0(che è l'ultima riga)

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

Infine, devi ancora portforward.

Speriamo che sia utile Poni domande nella sezione commenti qui sotto.


In realtà ho compilato e installato l'ultimo openssl sul mio RPi di destinazione. Ora ssh non funziona per me. Ssh dipende da openssl?
Allan,

SSL (Secure Socket Layer) non è necessario per eseguire SSH. In realtà potrebbe essere il problema in questa configurazione. Tuttavia, prova a utilizzare l'IP locale del Pi anziché il suo nome host.
xxmbabanexx,

ho pubblicato o / p per -----> ssh -vvv pi@192.168.0.202 ---> puoi suggerire qual è il problema
Allan

ho rigenerato le chiavi sul mio host e destinazione .. ho rimosso il file host noto da ~ / .ssh ... ha funzionato ...
Allan

rimuovi tutti i file da: --- / etc / ssh ----> tranne shh_config ---> e ha cambiato la configurazione di ssh come da questo link ---> blog.harshadura.net/2012/01/…
Allan

0

Puoi dare un'occhiata alla mia risposta per queste domande.

Come ottenere l'indirizzo IP del Raspberry Pi per SSH

Un'altra possibilità che non ho menzionato è quella di acquistare un dominio (è molto economico) e giocare con il DNS. Ho acquistato il dominio aasgard.infoper 0,99 centesimi e assegnato il nome ygdrasill.aasgard.infoa un indirizzo interno ( 192.168.1.141in questo caso). Quindi è necessario impostare il dominio predefinito come nome di dominio acquistato e voilà :)

Devo confessare che dopo aver trascorso tutto il tempo a configurare il dominio mi sono reso conto che usare il file / etc / hosts o avahi era molto più semplice :)


0

Sei sicuro di aver avviato un server SSH sul tuo Raspberry Pi? Solo perché puoi eseguire il ping non significa che stia eseguendo un server SSH. Prova sshdun server SSH leggero.


0

Abilita SSH

A partire dalla versione di novembre 2016, Raspbian ha il server SSH disabilitato per impostazione predefinita.

Può essere abilitato manualmente dal Terminale:

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

o

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

In alternativa, utilizzare systemctl per avviare il servizio

sudo systemctl enable ssh
sudo systemctl start ssh

-1

La connettività SSH è DISABILITATA per impostazione predefinita nell'ultimo raspberry pi. Gli RPi che saranno rilasciati a / dopo novembre 2016.

I passaggi sono: 1) Scrivi l'immagine raspbian sulla scheda SD. 2) creare un file ssh senza estensione. 3) copia quel file ssh sulla scheda SD in cui è scritta la tua immagine. 4) Finalmente sarai in grado di SSH il tuo lampone pi.

Per maggiori dettagli guarda questo video: https://www.youtube.com/watch?v=zKT6bTESlLs


2
Benvenuto in Raspberry Pi! Fai il tour e visita il centro assistenza per vedere come funzionano le cose qui. Nota che questa domanda è del 2013. Allora il problema che descrivi non è stato affatto un problema ...
Ghanima
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.