RaspberryPi Zero W, SSH-Login

  • Hallo,

    seit einiger Zeit versuche ich auf meinem RaspPiZW ein Login über ssh hinzubekommen, was immer noch nicht gelingt. Der Pi ist über USB (headless, serial gadget) mit einem Netbook verbunden. ifconfig zeigt mir auch die host-IP des Pi an. Nach "ssh pi@host-IP" wird dann folgende Info ausgegeben:


    The authenticity of host 'host-IP (host-IP)' can't be established.

    RSA key fingerprint is SHA256:D8yfawf4fwKxB4AAMNs3oTpjBNUFP/Y907XJmw0a8pg.

    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added 'host-IP' (RSA) to the list of known hosts.


    Bei der anschließenden Passwortabfrage gebe ich "raspberry" ein und erhalten nach 3-maligem Versuch:

    pi@host-IP: Permission denied (publickey,password).


    Einige Infos zu meinem System:

    1. 2019-04-08-raspbian-stretch-lite installiert auf einer SanDisk Ultra 16GB micro SD HC unter Linux mit

    "dd if=2019-04-08-raspbian-stretch-lite.img of=/dev/sdd bs=4M; sync"


    2. Änderungen mit vim vorgenommen in config.txt (am Ende "dtoverlay=dwc2" eingefügt) und in cmdline.txt (hinter rootwait eingefügt: "modules-load=dwc2,g_ether"). Auf diesem Laufwerk habe ich auch die Datei ssh angelegt.


    3. Nachdem das System gebootet hat zeigt ifconfig auf dem Client die host-IP an. Das Anpingen liefert:

    64 bytes from host-IP: icmp_seq=1 ttl=64 time=0.105 ms

    64 bytes from host-IP: icmp_seq=2 ttl=64 time=0.134 ms

    64 bytes from host-IP: icmp_seq=3 ttl=64 time=0.126 ms


    4. Mit nmap habe ich den Port 22 überprüft. Der war am Anfang nicht geöffnet,

    weshalb ich folgende Änderungen in der sshd_config des PiZW vorgenommen habe:

    Port 22

    PasswordAuthentication yes

    Dannach wurde Port 22 als verfügbar erkannt.


    5. Das Einloggen mittels ssh lieferte dann den bereits beschriebenen Effekt:

    Permission denied (publickey,password)


    Nach Abklemmen der Stromversorgung(USB) am Pi habe ich die SD-Karte überprüft, speziell die cmdline.txt. Alles hinter "modules-load=dwc2,g_ether", also "quiet init=/...", fehlte plötzlich. Als ich dies wieder aus einer Sicherheitskopie heraus gegänzt, neu gebootet und später auf dem Netbook wieder kontrolliert habe, war das gleiche festzustellen: alles hinter "modules-load=dwc3,g_ether" fehlte.


    Könnten die Effekte möglicherweise zusammenhängen, abgewiesenes ssh-login und die

    automatische Änderung in cmdline.txt?


    Gruss


    rrts

  • ... "ssh pi@host-IP" wird dann folgende Info ausgegeben:

    Mit welchem Betriebssystem benutzt Du den ssh-Client?

    Wie sind jetzt die Ausgaben von:

    Code
    ssh -vvv pi@host-IP

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Auf dem Netbook läuft im Moment ein knoppix und

    cat /proc/version gibt Folgendes aus:

    Linux version 4.16.5 (root@eeepc) (gcc version 7.3.0 (Debian 7.3.0-3)) #2 SMP PREEMPT Mon Apr 30 04:18:22 CEST 2018


    Mit "ssh -vvv pi@host-IP" erscheint dann:

    OpenSSH_7.6p1 Debian-5knoppix1, OpenSSL 1.0.2l 25 May 2017

    debug1: Reading configuration data /etc/ssh/ssh_config

    debug1: /etc/ssh/ssh_config line 19: Applying options for *

    debug2: resolving "host-IP" port 22

    debug2: ssh_connect_direct: needpriv 0

    debug1: Connecting to host-IP [host-IP] port 22.

    debug1: connect to address host-IP port 22: Connection refused

    ssh: connect to host host-IP port 22: Connection refused

  • ssh: connect to host host-IP port 22: Connection refused

    Wie ist die Ausgabe von:

    Code
    nc -zv host-IP 22

    (host-Ip ersetzen)?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Ja, die Abkürzung host-IP steht für die reale IP. Bei mir ist die im Moment noch jeweils immer mal eine andere. Ich weiß aber wie man eine feste IP zuordnet und richte das später ein.


    Mit "nc -zv host-IP" kommt jetzt:

    Connection to host-IP 22 port [tcp/ssh] succeeded!

    Ich habe allerdings am Client noch zwei Änderungen in /etc/ssh/ssh_config vorgenommen:

    PasswordAuthentication yes

    Port 22

    "ssh pi@host-IP" bringt allerdings leider immer noch:

    Permission denied (publickey,password).

    Die Ausgabe von "ssh -vvv pi@host-IP" sieht jetzt auch anders aus (s. Anlage)

  • Versuch mal mit:

    Code
    ssh -vvv -c aes256-ctr,aes128-gcm@openssh.com -m hmac-sha2-256-etm@openssh.com,hmac-sha2-512 pi@host-IP


    EDIT:


    BTW: Welches Knoppix benutzt Du?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Bei mir läuft ein Knoppix 8.3. Jetzt im Moment teste ich mit einem 7.7, das sich eigentlich nicht spürbar anders verhält. Die Ausgabe des letzten Befehls findet sich in der txt-Datei im Anhang. Ich habe in ssh_config(Client) und sshd_config(host) noch etwas geändert:
    ssh_config:
    RSAAuthentication yes
    IdentityFile ~/.ssh/id_rsa

    sshd_config:
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

    Weiterhin habe ich ein RSA-Schlüsselpaar erzeugt (id_rsa und id_rsa.pub
    mit 'ssh-keygen -b 2048', ohne passphrase) und unter dem Nutzeraccount des Client in ./ssh abgelegt. id_rsa.pub habe ich auf dem Host kopiert und in authorized_keys umbenannt. Das scheint auch nicht zu funktionieren, jedenfalls wird wieder das Passwort abgefragt.

  • Weiterhin habe ich ein RSA-Schlüsselpaar erzeugt (id_rsa und id_rsa.pub

    Das ist erst dann nützlich bzw. erforderlich, wenn PasswordAuthentication für den user pi funktioniert.

    Hast Du das Passwort für den user pi noch nicht geändert? ... denn Du schreibst weiter oben:

    Quote

    Bei der anschließenden Passwortabfrage gebe ich "raspberry" ein

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

  • Das direkte Login (Monitor/Keybord) an dem RaspPiZW funktioniert, auch das Standardpasswort und ebenfalls ein geändertes Passwort. Ich habe den Pi dann wieder mit dem Netbook verbunden und versucht nach der gleichen Prozedur über SSH mit dem neuen Passwort einzuloggen. Erneut kommt "Permission denied (publickey,password).", wohingegen "nc -zv host-IP 22" die Meldung "Connection to host-IP 22 port [tcp/ssh] succeeded!" ausgibt. Meine Vermutung war, das es an den 'locale'-Einstellungen liegen könnte. Der Client hat de_DE.UTF-8, und der Pi zuvor en_GB.UTF-8 und jetzt nach Umstellen mit raspi-config auch de_DE.UTF-8. Trotzdem kein Erfolg. Fakt ist, dass wenn man Knoppix mit einem anderen Sprachparameter startet, z.B. lang=uk, dann geht dort der Login zum knoppix-Account mit dem bisherigen Passwort auch nicht mehr.

  • Das SSH-Login über das Serial-Gadget funktioniert jetzt unter Knoppix 8.3

    auf meinem Raspberry Pi Zero W (1.1). Ich bin wie folgt vorgegangen:


    1. Raspbian-Image auf die Micro-SD-Card kopieren:

    sudo dd if=2019-04-08-raspbian-strecht-lite.img of=/dev/sdd bs=4M; sync


    2. beide Laufwerke auf der SD-Card einhängen

    sudo mount /dev/sdd1

    sudo mount /dev/sdd2


    3. Dateien editieren

    cd /media/sdd1

    touch ssh

    vim config.txt # dtoverlay=dwc2 am Ende einfügen

    vim cmdline.txt # modules-load=dwc2,g_ether hinter rootwait einfügen

    cd /media/sdd2

    sudo vim ./etc/network/interfaces

    -> hier Folgendes ergänzen

    auto usb0

    allow-hotplug usb0

    iface usb0 inet static

    address 192.168.1.2

    netmask 255.255.aaa.bbb

    gateway 192.168.1.1

    dns-nameservers 192.168.1.1

    -> Abspeichern

    sudo vim /etc/network/interfaces

    -> hier Folgendes ergänzen

    auto usb0

    allow-hotplug usb0

    iface usb0 inet static

    address 192.168.1.1

    netmask 255.255.aaa.bbb

    gateway 192.168.1.1

    dns-nameservers 192.168.1.1

    -> Abspeichern

    #aaa und bbb müssen jeweils identisch sein


    sudo service networking restart


    4. Laufwerke wieder aushängen

    sudo umount /media/sdd1

    sudo umount /media/sdd2


    5. SD-Card in den Raspberry Pi Zero W (1.1) einlegen,

    Stromversorgung aktivieren, ca. 2 min warten,

    Micro-USB-Schnittstelle mit PC verbinden


    6. in der Console auf dem Client:

    ssh pi@192.168.1.2

    password: raspberry

    # Das Passwort umgehend ändern.


    Sehr weitergeholfen haben mir die Hinweise im Elektronik-Kompendium

    (https://www.elektronik-kompend…/raspberry-pi/1912151.htm).

  • aha, daß das so geht, wußte ich gar nicht.

    Ich habe nachdem ich die SD-Karte geflasht habe, diese nicht entnommen.

    Dann habe ich eine leere Datei erstellt mit dem Namen ssh.txt

    Diese Datei wird dann in ssh ohne Endung umbenannt.

    Die Datei ssh wird auf der SD-Karte im Boot-Verzeichnis gespeichert.

    Erst dann die SD-Karte vom PC entfernen, und in den Zero stecken und einschalten.

    Natürlich kannst Du vorher auch noch die Netzwerk-Einstellungen mit einem Editor vornehmen, bevor Du die Karte ziehst.

  • Das Passwort ist bei allen Verbindungen (außer SSH): raspberrz (das y und z sind wegen der englischen Einstellung vertauscht).


    Bei SSH bestimmt der Client die Tastatursprache und da passt es mit dem "y".

    ;) Gruß Outi :D
    PIs: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite)
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Ubuntu Server 64 Bit) / Pi 400 (Bullseye) / 2x Pi Pico
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT

  • Dann eben nicht ….

    ;) Gruß Outi :D
    PIs: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite)
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Ubuntu Server 64 Bit) / Pi 400 (Bullseye) / 2x Pi Pico
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT