SSH-Login als normaler User mit Key anstatt eines Passwortes

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

monchi

Benutzer
Registriert
16. Feb. 2012
Beiträge
109
Reaktionspunkte
0
Punkte
0
Hi,

ich hab auf der Suche nach einer Problemlösung eine ganze Reihe ähnlicher Threads gefunden aber keiner konnte mir so richtig weiterhelfen.

Ich versuche gerade für einen "normalen" Nutzer das Anmelden via SSH per Key-Authentifizieren zum laufen zu bekommen.

Ich habe zunächst einen "normalen" Benutzer über die Weboberfläche erstellt und anschließend in der /etc/passwd sowohl das Home-Verzeichnis als auch die Shell entsprechend geändert:
Rich (BBCode):
rdiff:x:1031:100::/volume3/rdiff_target:/bin/ash

anschließend im Homeverzeichnis einen Ordner .ssh, sowie .profile angelegt. In ~/.ssh/ befindet sich eine Datei authorized_keys mit dem öffentlichen Schlüssel.

Abschließend habe ich noch in /etc/ssh/sshd_config in den Zeilen
Rich (BBCode):
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
die Kommentierung rausgenommen.

Der Login als user "rdiff" mit Passwort funktioniert ohne Probleme. Nur wenn ich eine Anmeldung mit Zertifikat versuche funktioniert das leider nicht.
Server refused our key

Der SSH-Server scheint auch keine logfiles anzulegen mit weiterführenden Informationen. Hat jemand eine Idee was da zu machen ist?
 
In ~/.ssh/ befindet sich eine Datei authorized_keys
Und das Verzeichnis ~/.ssh ist dann bei dir sozusagen /volume3/rdiff_target/.ssh ???

Wie sind denn die Attribute des Verzeichnis .ssh und die des Files authorized_keys?

Gruß
luddi
 
Setze einmal für authorized_keys 644 [rw-r--r--] und probier es nochmals aus.
 
Hast du dir schon einmal den Wiki Eintrag hier im Forum angeschaut? Ssh mit Zertifikaten absichern

Was anderes fällt mir gerade nicht ein woran es noch liegen könnte.

Kleine Anmerkung:
In /etc/ssh/sshd_config musst du die Kommentierung nicht heraus nehmen. Das sind die default Werte, die Kommentare kannst du dann entfernen wenn du diese Parameter verändern möchtest.
 
Hast recht habe das wieder rückgängig gemacht^^

Der Wiki-Eintrag ist mir bekannt. Habe alle Schritte die dort aufgeführt sind ebenfalls durchgeführt.

Wo liegen denn die Logfiles des SSH-Servers? Eingentlich ist das doch /var/log/auth.log
Diese DAtei wird aber nicht angelegt. Evtl. bekomme ich serverseitig eine etwas detailiertere Fehlermeldung

EDIT:

Habe den SSH Server via Telnet im Debug-Modus (/usr/syno/sbin/sshd -d) gestartet und folgendes erhalten:
debug1: PAM: initializing for "rdiff"
debug1: userauth-request for user rdiff service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: PAM: setting PAM_RHOST to "192.168.15.124"
debug1: PAM: setting PAM_TTY to "ssh"
debug1: temporarily_use_uid: 1031/100 (e=0/0)
debug1: trying public key file /volume3/rdiff_target/.ssh/authorized_keys
debug1: fd 5 clearing O_NONBLOCK
Authentication refused: bad ownership or modes for directory /volume3/rdiff_target
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1031/100 (e=0/0)
debug1: trying public key file /volume3/rdiff_target/.ssh/authorized_keys
debug1: fd 5 clearing O_NONBLOCK
Authentication refused: bad ownership or modes for directory /volume3/rdiff_target
debug1: restore_uid: 0/0
Failed publickey for rdiff from 192.168.15.124 port 50569 ssh2

Die Berechtigungen für das Homeverzeichnis sehen wie folgt aus:
drwx------ 4 rdiff users 4096 Sep 7 19:12 rdiff_target

EDIT2:
Mittlerweile funktioniert es. Ich hatte den SSH-Server nach dem ändern des Besitzers des Homeverzeichnissens (Besitzer war vorher root:root) nochmal neu gestarte
 
Zuletzt bearbeitet:
Damit ich mich nun einfach per "ssh hostname" ohne weitere Angaben zu dem entsprechenden Server verbinden kann, habe ich auf dem Client-Rechner ein Textdatei (/root/.ssh/confing) mit folgendem Inhalt angelegt:

Rich (BBCode):
host 192.168.15.80
        user rdiff
        identityfile /root/.ssh/rdiff_ds414.ppk

in rdiff_ds414.ppk befindet sich der private Schlüssel. Das Schlüsselpaar habe ich mit puttygen erstellt und habe hier keine "passphrase" gesetzt. Dennoch wird diese bei dem Verbindungsaufbau verlangt. Kann ich das in /root/.ssh/confing noch deaktivieren?
 
Verwendest du für die ssh Verbindung PuTTY? Ich habe damit nämlich keine große Erfahrung.

luddi
 
Hm... ich bin mir grad nicht sicher, ob wir das gleiche Problem haben, aber ich beschäftige mich grade in diesem Thread mit ssh und key!

Als ich das grade mit puttygen gelesen habe viel mir ein, das ich davon auch was aufgeschnappt habe und zwar hier...

Vielleicht kannst du das auf deine Problemstellung irgendwie verwenden. Ich habe mit dieser Anleitung es jedenfalls geschafft mit über die Konsole der DS mittels ssh auf meinen Pi zu verbinden.

Tommes
 
Putty verwendet ein anderes Format. Mit puttygen kann man das ppk file laden und über Conversions->export Openssh key im richtigen Format erzeugen.

Thomas
 
herzlichen Danke für die Hinweise.

Das Problem lag tatsächlich bei Putty. Trotz leerem Passwort wird dieses beim generieren gesetzt. Habe mir ein neues Schlüsselpaar direkt auf dem Server erstellt. Damit funktioniert alles reibungslos

@Tommi2day:
verdammt deinen Beitrag habe ich über sehen. Aber herzlichen Dank!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat