SSH für normale User mit Keys absichern

Status
Für weitere Antworten geschlossen.

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo

ich möchte den SSH-Zugriff auf unser CS407 (DSM2.1) für normale User mittels PublicKey-Authentication ermöglichen.

Leider funktioniert überhaupt nichts...

Ich habe mittels ipkg das Paket OpenSSH installiert. Dann habe ich einen User angelegt, /root/.profile in sein Home-Dir kopiert und entsprechend angepasst. In /etc/passwd habe ich die Shell gesetzt. Im Home-Dir habe ich im Subdir .ssh die Datei authorized_keys angelegt und den PublicKey des Clients eingetragen.

Dann habe ich in Putty den Private-Key unter Auth eingetragen.
Der Server meldet jedoch immer "Server refused our key".

Wie mir scheint habe ich noch ein paar Lücken bei den Grundkenntnissen im Zusammenhang mit OpenSSH.
  • Wird bei der Installation von OpenSSH via ipkg der SSH-Daemon automatisch ersetzt oder muss da noch manuell etwas gemacht werden? (Ich habe nur das Paket OpenSSH installiert)
  • Der Output von ps ergibt, dass /opt/sbin/sshd läuft. Ich nehme an, dass dies der OpenSSH-Daemon ist!?
    [EDIT] Nach einem Restart von /usr/syno/etc.defaults/S95sshd läuft anschliessend /usr/syno/sbin/sshd. Wieso wird beim Reboot ein anderer Daemon geladen? [/EDIT]
  • Welches Config-File ist nun das relevante? Das in /etc/ssh oder das in /opt/etc/openssh?
  • Auch mit PasswordAuthentication kann sich nur der User root und admin einloggen. Ein normaler User jedoch nicht. Woran kann das liegen?
  • Sollte die KeyAuthentication auch für den User root funktionieren, wenn PermitRootLogin auf Yes ist? Auch dann erhalte ich "Server refused our key"
  • Ich habe mal in beiden sshd_config files die Optionen "PubkeyAuthentication" auf "yes" und "AuthorizedKeysFile" auf ".ssh/authorized_keys" gesetzt. Muss ich noch irgendwas mit den known_hosts machen?

Ich wäre sehr dankbar, wenn mir jemand damit helfen könnte...
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ja habe ich gelesen und auch so umgesetzt.

Inzwischen konnte ich auch einige meiner Fragen selber lösen:
  • Das Config-File, welches OpenSSH benutzt ist in /opt/etc/openssh.
  • Der root-Access funktioniert nun auch mit PublicKey-Authentication.
  • Normale User können sich nicht einloggen, weder mit Passwort noch mit Keys.

Es bleiben also noch folgende Fragen für mich offen:
  • Wie wird OpenSSH beim Reboot gestartet? Offensichtlich nicht über /usr/syno/etc.defaults/rc.d/S95sshd, da dann ein anderer Prozess läuft.
  • Wieso funktioniert SSH nicht für normale User?

Vielen Dank
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Es bleiben also noch folgende Fragen für mich offen:
  • Wie wird OpenSSH beim Reboot gestartet? Offensichtlich nicht über /usr/syno/etc.defaults/rc.d/S95sshd, da dann ein anderer Prozess läuft.
  • Wieso funktioniert SSH nicht für normale User?
1. Das Startscript für dieses Paket und alle via ipkg installierten Pakete liegen unter /opt/etc/init.d
2. Da gibt es einige Möglichkeiten: Kann sich denn dieser User vie telnet anmelden? Wenn nein, dann gibt's wahrscheinlich ein Problem in /etc/passwd Die erforderlichen Verzeichnisse hast du angelegt und mit den korrekten Rechte resp Eigentümerschaft versehen?
 

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ok, das klappt mit /opt/etc/init.d/S40sshd

Ja, der Benutzer kann sich in telnet einloggen. Auch "su - Remote" funktioniert und das Home-Dir wird korrekt gesetzt.
Die Rechte des Directories .ssh sind wie folgt gesetzt:
$ ls -al ~/.ssh
drwx------ 2 Remote users 4096 Jul 15 13:26 .
drwxr-xr-x 3 Remote users 4096 Jul 15 13:28 ..
-rw------- 1 Remote users 226 Jul 15 13:30 authorized_keys
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Die Rechte von .ssh und authorized_keys sehen imho gut aus. Kannst du mal noch den Eintrag zum User Remote aus /etc/passwd posten? Die komplette Zeile...
 

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
/etc/passwd:
Rich (BBCode):
Remote:x:1036:100::/volume1/users/Remote:/bin/sh
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Auch diese Einträge sehen gut aus...
Liegen also die ssh Dateien unter /volume1/users/Remote/.ssh/authorized_keys ?
Was sagen denn die Fehlerlogs wenn du dich als Remote via ssh anmelden willst? Diese Logs liegen in /var/log/messages. Ich würde mal folgendes vorschlagen. Erstmal als root auf der Konsole
Code:
tail -f /var/log/messages
machen und diese Konsole offenhalten. Dann als Remote via ssh auf einer neuen Konsole einloggen und schauen ob neue Meldungen in die Fehlerlogs geschrieben wurden.
 

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ja, korrekt, authorized_keys liegt im Home des Users Remote unter .ssh, und der Inhalt ist der Public Key, den ich aus dem PuttyGen kopiert habe. (Bei root funktionierts bestens damit).

Also, beim SSH-Login gebe ich den Benutzernamen ein: Remote
Dann erscheint "Server refused our key".
In /var/log/messages passiert bisher noch nichts!

Wenn ich dann das Passwort für Remote eingebe, kommt folgende Zeile:
Rich (BBCode):
Jul 15 14:13:35 sshd[4329]: error: Could not get shadow information for NOUSER

Wo er wohl das NOUSER her hat?
 

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ja, der Eintrag existiert.

Der User admin funktioniert übrigens auch, sowohl via Passwort als auch mit Keys. Nur mein eigener User nicht :mad:
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Jetzt würde ich mal den User im Diskstation Manager löschen und neuanlegen (dabei auch gleich konsequente Kleinschreibung verwenden, also besser remote als Remote)
 

Dunji

Benutzer
Mitglied seit
15. Jul 2009
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ups, der Benutzer war im Manager deaktiviert (da muss ich ein Wörtchen mit dem Chef wechseln, der das deaktiviert hat!)
Und siehe da, jetzt funktionierts.

Ich danke Dir vielmals für die Hilfe!
 
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