ssh funktioniert nicht


10

Ich bin nicht in der Lage, in mein Pi zu ssh. RPI ist direkt mit meinem Host-PC verbunden.

Ich habe die IP-Adresse meines Hosts festgelegt: ----

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

Pi haben Standard-IP in der Netzwerkschnittstellendatei als: ----

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

Wenn der Konfigurationsbefehl auf meinem PC lautet: -----

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 arbeitet für denselben 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 arbeitet für pi von meinem Host-PC aus: ----

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 funktioniert nicht

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

Bitte schlagen Sie vor, wie Sie das Problem beheben können.

edit: ---
ssh -vvv pi@192.168.0.202 ---> Ausgabe ist

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
Haben Sie überprüft, ob der ssh-Daemon ausgeführt wird?
Codey

Eigentlich habe ich keinen HDMI-Bildschirm und habe meinen Remote-Desktop-Computer verwendet, um mich mit ssh bei pi anzumelden. Wie kann ich das jetzt überprüfen?
Allan

ps aux | grep sshd
codey

Wenn sshd ausgeführt wird, zeigt die Ausgabe die sshd-Prozesse an. Neben dem "grep sshd", das wir gerade ausgeführt haben, natürlich.
Codey

Antworten:


5

Ich hatte das gleiche Problem mit neu installiertem Raspbian und das Problem war mit serverseitigen SSH-Hostschlüsseln.

Diese Schlüssel werden nicht auf dem Image generiert, da jedes Gerät unterschiedliche SSH-Schlüssel haben muss. Beim ersten Start werden diese Schlüssel automatisch generiert.

Mein Problem war, dass ich wahrscheinlich beim Generieren dieser Schlüssel die Versorgung unterbrach und sie mit der Größe Null falsch waren.

Die Lösung besteht darin, die serverseitigen ssh-Hostschlüssel neu zu generieren:

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

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


2
Wie sollte man ssh-serverseitige Host-Schlüssel neu generieren (dpkg-Reconfigure openssh-server), wenn sie sich überhaupt nicht anmelden können?
Hayri Uğur Koltuk

Genau @ HayriUğurKoltuk Ich bin auf einem Mac, wie könnte ich das machen?
klares Licht

4

Grund für das Problem und die Behebung

Ohne spezielle Programme können Sie nicht mit dem Hostnamen in den Pi ssh. Pingen Sie bei LAN-Netzwerken den Host an. Sobald Sie die IP haben, schreiben Sie sie auf. Dann schreiben Sie in das Terminal:

ssh pi@this_is_the_ip

und Sie sollten sich anmelden können.

Wenn Sie von außerhalb Ihres Heimnetzwerks auf den Pi zugreifen möchten, müssen Sie Ihren Router weiterleiten . Tatsächlich gibt es eine Frage zum Stapelaustausch, wie dies zu tun ist.

Angenommen, Sie möchten immer noch einen schönen Namen für Ihren Pi verwenden, gibt es eine Option, die sowohl innerhalb als auch außerhalb Ihres Netzwerks funktioniert.

DNSDynamic

Mit dieser Software können Sie einen Domainnamen für Ihren Pi einrichten.

  1. Gehen Sie zu ihrer Website und richten Sie einen Domainnamen und ein Konto ein.

  2. Installieren Sie ddclientauf Ihrem Pi.

    sudo apt-get install ddclient 
    

    Und dann bearbeiten Sie die Konfigurationseinstellungen.

    sudo nano /etc/ddclient.conf
    

    Ändern Sie abschließend die Datei wie folgt:

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

Angenommen, Sie möchten, dass dies bei jedem Aufwachen Ihres Computers automatisch gestartet wird, geben Sie Folgendes in das Terminal ein.

sudo nano /etc/rc.local

Fügen Sie den folgenden Befehl hinzu exit 0(dies ist die letzte Zeile).

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

Zuletzt müssen Sie noch portforward.

Hoffentlich ist das hilfreich. Stellen Sie Fragen im Kommentarbereich unten.


Eigentlich habe ich das neueste openssl für mein Ziel-RPi kompiliert und installiert. Jetzt funktioniert ssh nicht für mich. Hängt ssh von openssl ab?
Allan

SSL (Secure Sockets Layer) wird zum Ausführen von SSH nicht benötigt. Dies kann tatsächlich das Problem in diesem Setup sein. Versuchen Sie jedoch, die lokale IP des Pi anstelle seines Hostnamens zu verwenden.
xxmbabanexx

Ich habe o / p für -----> ssh -vvv pi@192.168.0.202 gepostet ---> können Sie vorschlagen, was das Problem ist
Allan

Ich habe die Schlüssel auf meinem Host und meinem Ziel neu generiert. Die bekannte Host-Datei wurde aus ~ / .ssh entfernt. Es hat funktioniert.
Allan

Entfernen Sie alle Dateien aus: --- / etc / ssh ----> außer shh_config ---> und ändern Sie die ssh-Konfiguration gemäß diesem Link ---> blog.harshadura.net/2012/01/…
Allan

0

Sie können sich meine Antwort auf diese Fragen ansehen.

So erhalten Sie die IP-Adresse des Raspberry Pi für SSH

Eine andere Möglichkeit, die ich dort nicht erwähnt habe, ist, eine Domain zu kaufen (sie ist sehr billig) und mit dem DNS zu spielen. Ich habe die Domain aasgard.infofür 0,99 Cent gekauft und ygdrasill.aasgard.infoeiner internen Adresse ( 192.168.1.141in diesem Fall) einen Namen zugewiesen . Dann müssen Sie die Standarddomain als den von Ihnen gekauften Domainnamen und voila ':) festlegen

Ich muss gestehen, dass ich nach all der Zeit, die ich für die Einrichtung der Domain aufgewendet habe, festgestellt habe, dass die Verwendung der Datei / etc / hosts oder avahi viel einfacher war :)


0

Sind Sie sicher, dass Sie einen SSH-Server auf Ihrem Raspberry Pi gestartet haben? Nur weil Sie pingen können, heißt das nicht, dass ein SSH-Server ausgeführt wird. Versuchen Sie es sshdmit einem leichten SSH-Server.


0

Aktivieren Sie SSH

Ab der Version vom November 2016 ist bei Raspbian der SSH-Server standardmäßig deaktiviert.

Es kann manuell über das Terminal aktiviert werden:

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

oder

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

Alternativ können Sie den Dienst mit systemctl starten

sudo systemctl enable ssh
sudo systemctl start ssh

-1

Die SSH-Konnektivität ist in den neuesten Himbeer-Pi standardmäßig deaktiviert. Die RPi, die im / nach November 2016 veröffentlicht werden.

Die Schritte sind: 1) Schreiben Sie ein Raspbian-Bild auf die SD-Karte. 2) Erstellen Sie eine SSH-Datei ohne Erweiterung. 3) Kopieren Sie diese SSH-Datei auf die SD-Karte, auf der Ihr Bild geschrieben ist. 4) Endlich können Sie Ihren Himbeer-Pi SSH.

Weitere Informationen finden Sie in diesem Video: https://www.youtube.com/watch?v=zKT6bTESlLs


2
Willkommen bei Raspberry Pi! Bitte nehmen Sie an der Tour teil und besuchen Sie das Hilfezentrum, um zu sehen, wie die Dinge hier funktionieren. Beachten Sie, dass diese Frage aus dem Jahr 2013 stammt. Damals war das von Ihnen beschriebene Problem überhaupt kein Problem ...
Ghanima
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.