SSH zu Raspberry Pi funktioniert nicht mehr

  • Hallo,

    ich verbinde mich mit meinem Pi normalerweise per SSH bzw. gebe ihn als Netzwerkspeicher im lokalen Netzwerk frei.

    Der Pi und mein Laptop (MacBook Pro) sind über WLAN mit dem Netzwerk verbunden.


    Normalerweise funktioniert dies auch einwandfrei, jedoch kann ich seit gut einem Tag den Pi nicht mehr per SSH erreichen.

    Er wird zwar als Netzwerkspeicher angezeigt, auf diesen kann jedoch auch nicht zugegriffen werden.

    Über andere Geräte, z.B. mein Tablet, kann ich jedoch problemlos auf den Pi über SSH zugreifen?


    Bei der Verbindung via SSH über das Laptop bekomme ich folgenden Code ausgegeben:

    Code
    1. myComputer~ myName$ ssh -v pi@rpi
    2. OpenSSH_7.4p1, LibreSSL 2.5.0
    3. debug1: Reading configuration data /etc/ssh/ssh_config
    4. debug1: Connecting to rpi [IP-Adresse] port 22.
    5. debug1: connect to address IP-Adresse port 22: Operation timed out
    6. debug1: Connecting to rpi [MAC-Adresse] port 22.
    7. debug1: connect to address MAC-Adresse port 22: No route to host
    8. ssh: connect to host rpi port 22: No route to host

    Anstatt "IP-Adresse" bzw "MAC-Adresse" steht dort natürlich die IP- bzw. MAC-Adresse ;)


    Könnt ihr mir helfen? Ich weiß nicht woran dies liegen könnte.

    Danke schon einmal! (:

  • Der Pi und mein Laptop (MacBook Pro) sind über WLAN mit dem Netzwerk verbunden.


    Über andere Geräte, z.B. mein Tablet, kann ich jedoch problemlos auf den Pi über SSH zugreifen?

    Naja, wenn es mit dem Tablet geht, wird es ja nicht an deinem Pi liegen, sondern an deinem MacBook.


    Poste mal von deinem Mac, in dieser Reihenfolge die Ausgaben von:

    Code
    1. arp -av
    2. ping -c 3 <IP-Adresse-PI>
    3. nc -zv <IP-Adresse-PI> 22

    (oder gleichwertig, abhängig vom OS). IP-Adresse-PI anpassen und ohne spitze Klammern.

  • Wenn du statt der IP den Bonjournamen verwendest, solltest du noch ein '.local' hinten dran hängen. Also so

    Code
    1. ssh pi@rpi.local


    Nachtrag: Was macht eigentlich dieses -v da? Das ist mir im Zusammenhang mit ssh noch nicht begegnet. Andererseits weiß ich auch dass ich nicht alles weiß. In diesem Sinne bilde ich mich gerne weiter. (:

  • Naja, wenn es mit dem Tablet geht, wird es ja nicht an deinem Pi liegen, sondern an deinem MacBook.


    Poste mal von deinem Mac, in dieser Reihenfolge die Ausgaben von:

    Code
    1. arp -av
    2. ping -c 3 <IP-Adresse-PI>
    3. nc -zv <IP-Adresse-PI> 22

    (oder gleichwertig, abhängig vom OS). IP-Adresse-PI anpassen und ohne spitze Klammern.

    Der Code "arp -av" führt zu einer Fehlermeldung, dass es diese Kombination nicht gibt.

    Du meinst vielleicht "arp -a"?


    Dieser spuckt mir (u.a.) die IP-Adresse aus:

    Code
    1. rpi (/IP des Pis/) at /MAC-Adresse/ on en0 ifscope [ethernet]


    ping - c 3 führt zu folgendem Ergebnis:

    Code
    1. PING IP des Pis (/IP des Pis/): 56 data bytes
    2. 64 bytes from /IP des Pis/: icmp_seq=0 ttl=64 time=5.430 ms
    3. 64 bytes from /IP des Pis/: icmp_seq=1 ttl=64 time=6.165 ms
    4. 64 bytes from /IP des Pis/: icmp_seq=2 ttl=64 time=7.770 ms
    5. --- /IP des Pis/ ping statistics ---
    6. 3 packets transmitted, 3 packets received, 0.0% packet loss
    7. round-trip min/avg/max/stddev = 5.430/6.455/7.770/0.977 ms

    und der nc-Befehl:

    Code
    1. nc: connectx to /IP des Pis/ port 22 (tcp) failed: Operation timed out
  • und der nc-Befehl:

    Code
    1. nc: connectx to /IP des Pis/ port 22 (tcp) failed: Operation timed out

    Unter Linux heißt es "Connection timed out", wenn der Port nicht erreicht werden kann. Was:

    Code
    1. Operation timed out

    auf dem Mac bedeutet, weiß ich jetzt nicht.


    Starte mal tcpdump auf deinem PI, um zu sehen ob der Portscan von deinem Mac dort ankommt:

    Code
    1. sudo apt-get install tcpdump
    2. sudo tcpdump -c 50 -vvveni <Interface> port 22 and host <IP-Adresse-Mac>

    Hast Du evtl. auf deinem Mac bzw. auf deinem PI, etwas mit ssh(d) updatet?

  • Hast Du evtl. auf deinem Mac bzw. auf deinem PI, etwas mit ssh(d) updatet?

    Nicht, dass ich wüsste.


    Starte mal tcpdump auf deinem PI, um zu sehen ob der Portscan von deinem Mac dort ankommt:

    Es passiert gar nichts ... :( (Also die Abfrage läuft, es kommt aber zu keinem Ergebnis – ich muss die Abfrage abbrechen)

  • Okay sehr seltsam – Jetzt funktioniert es.


    Ich habe von meinem Mac aus einfach nur einen ping auf den Pi durchgeführt:

    Code
    1.  ping rpi.local
    2.  ping rpi


    Anschließend habe ich versucht über SSH auf den rpi.local zuzugreifen. Hierbei wurde folgende Meldung angezeigt:

    Scheinbar wurde der Pi aus irgendeinem Grund aus der Liste bekannter Geräte entfernt?


    Danke auf jeden Fall!

  • Dein Problem ist noch nicht gelöst und das wird auch dadurch erschwert, weil Du die interne IP-Adresse anonymisierst. Es hat doch auch schon mit "rpi" funktioniert.


    Was ist der Unterschied zwischen "rpi" und "rpi.local"?

    Post mal von deinem PI, die nicht anonymisierte Ausgaben von:

    Code
    1. hostname
    2. hostname -I
    3. hostname -i
    4. host -t A rpi
    5. host -t A rpi.local


    EDIT:


    OK, also kein Interesse zu wissen warum es (mit avahi geht und) mit der lokalen Namensauflösung (DNS) nicht geht?

  • Die Au

    Post mal von deinem PI, die nicht anonymisierte Ausgaben von:

    Der Pi spuckt dabei Folgendes aus:


    Code
    1. pi@rpi:~ $ hostname
    2. rpi
    3. pi@rpi:~ $ hostname -I
    4. 192.168.1.151
    5. pi@rpi:~ $ hostname -i
    6. 127.0.1.1
    7. pi@rpi:~ $ host -t A rpi
    8. rpi has address 192.168.1.151
    9. pi@rpi:~ $ host -t A rpi.local
    10. Host rpi.local not found: 5(REFUSED)

    Ich denke auch nicht, dass es da einen Unterschied zwischen rpi und rpi.local gibt. Vielmehr war es vielleicht die andere Ansprache, die es meinem Laptop erlaubt hat die Adresse zu den bekannten SSH-Adressen hinzuzufügen (mit meinem gesunden Halbwissen)? Scheinbar lag irgendwo ein Fehler vor – vielleicht durch eine Routerseitige Änderung der IP-Adresse? (Wobei das durch die Ansprache über "rpi" ja eigentlich umgangen werden sollte …)




    Na Gottseidank!

    Danke! :) Hab deinen Post ehrlich gesagt anfangs übersehen … Sorry!

  • Code
    1. pi@rpi:~ $ hostname
    2. rpi
    3. pi@rpi:~ $ hostname -I
    4. 192.168.1.151
    5. pi@rpi:~ $ hostname -i
    6. 127.0.1.1
    7. pi@rpi:~ $ host -t A rpi
    8. rpi has address 192.168.1.151

    Ich denke auch nicht, dass es da einen Unterschied zwischen rpi und rpi.local gibt. Vielmehr war es vielleicht die andere Ansprache, die es meinem Laptop erlaubt hat die Adresse zu den bekannten SSH-Adressen hinzuzufügen (mit meinem gesunden Halbwissen)?

    Da gibt es keinen Fehler, denn es hat doch auch schon ohne avahi (oder gleichwertig) funktioniert.

    Dein Mac muss die Namensauflösung auch mit DNS (und ohne avahi) können.

    Wie ist jetzt auf deinem Mac die Namensauflösung für rpi?

    Code
    1.  nslookup rpi

    Welchen Router benutzt Du? Wie ist die lokale domain (zone) im (W)LAN deines Routers?