SSH Login nur mit Key erlauben

Hallo Community,

Ich habe meinen Server umgestellt das ich mit Key einloggen kann,

Nun würde ich gerne so umstellen das der User ROOT gesperrt ist für Login.

Ich habe testweise einen User angelegt, nennen wir ihn "testuser"

Mit Root Läuft das Key basierte einloggen ohne Probleme,

Tausche ich aber in Putty den Namen Root gegen Testuser muss ich mit Passwort einloggen...

Lasse ich das Feld leer und gebe root manuell ein geht es wieder
das gleiche mit testuser geht wieder nicht.

Ich habe dieses HowTo durchgearbeitet.
http://www.howtoforge.de/howto/key-basierte-ssh-logins-mit-putty/2/


Achso diesen Teil habe ich vorerst wieder aus der sshd_config entfernt (auf Seite3)
Code:
[...]
Protocol 2
PasswordAuthentication no
UsePAM no
[...]

In meiner sshd_config ist auch vor jeder Anweisung ein "#" ist das korrekt?
Habe vor die Befehle die oben stehen keines gesetzt...
 
Last edited by a moderator:
Folgendes muss in deiner sshd_config stehen:
Code:
PermitRootLogin no
PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no
 
An deiner Stelle würde ich solange den root login nicht deaktivieren, bis du mit deinem testuser den privaten key benutzen kannst!


"vorübergehend"

Code:
PermitRootLogin yes
PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no
Protocol 2

Wenn dein Login mit private key funktioniert musst du um root zu deaktivieren das PermitRootLogin auf "no" setzen!
 
Das habe ich jetzt alles eingefügt,
mit rcsshd restart den SSH Dienst neugestartet

aber mit dem User "testuser" kann ich trotzdem nicht einloggen... root geht nach wie vor...

Putty Disconnected mit dieser Meldung:
Code:
"Disconnected: No supported authentication methods available."

liegt es daran das der Key in .ssh/authorized_keys2
Code:
mkdir ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys2

mit diesen Rechten eingefügt wurde?


Auszug aus meiner sshd_config

Code:
#PermitRootLogin no
Protocol 2
PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys

Wie schaut es mit #AuthorizedKeysFile .ssh/authorized_keys aus? Denn laut Anleitung von HowToForge soll der key "authorized_keys2" heißen. Wobei "#AuthorizedKeysFile .ssh/authorized_keys" ja auskommentiert ist...

Ich bin etwas ratlos...


Habe auch AllowUsers testuser probiert. Aber kein Ergebnis.
 
Last edited by a moderator:
ja Welche Rauten den alle? :)

bei mir siehts aktuell so aus:
Code:
PermitRootLogin yes
Protocol 2
PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys

soll ich

Code:
#AuthorizedKeysFile     .ssh/authorized_keys

auch die Raute weg nehmen? und
authorized_keys in authorized_keys2 ändern?
In HowToForge wurde gesagt man soll die Pup-Key-Datei so benennen
 
also in /var/log/messages

Schreibt bei einem Fehllogin garnix rein,

bei Erfolgreichem login (mit user root):

Code:
Aug 11 21:02:31 hotel673 sshd[29808]: Accepted publickey for root from 87.158.185.31 port 54054 ssh2
 
Ich habe eben Testweise probiert mit dem User SW-CP-SERVER einzuloggen

da erscheint eine Fehlermeldung in "messages"

Code:
Aug 11 21:34:13 hotel673 sshd[30594]: User sw-cp-server not allowed because account is locked

aber bei dem testuser erscheint keine Fehlermeldung...

Also ist das denke ich schon die richtige Logfile, wüsste jetzt nicht wo Ich eine andere finden kann
 
Last edited by a moderator:
Ich habe den Fehler gefunden,

Ich habe den Key:
"authorized_keys2"
nur in /root/.ssh/authorized_keys2
gespeichert.

nachdem Ich in /home/testuser auch ein .ssh Verzeichnis erstellt habe
und die Datei authorized_key2 auch dorthin Kopiert habe und die Benutzerzugehörigkeit und Rechte angepasst habe kann ich mich mit dem Testuser auch einloggen.

Ist das den jetzt immer nötig für User die Zugriff per SSH mit Key nötig haben?
oder kann man das irgendwie verallgemeinern?
 
Ich habe den Fehler gefunden,

nachdem Ich in /home/testuser auch ein .ssh Verzeichnis erstellt habe
und die Datei authorized_key2 auch dorthin Kopiert habe und die Benutzerzugehörigkeit und Rechte angepasst habe kann ich mich mit dem Testuser auch einloggen.

Welche Rechte muss man denn dem Testuser geben, damit der Login funktionniert?
 
Ich möchte hier mal nachhaken!!!

Ich versuche gerade vergeblich auch einem normalen User mit Key Verfahren einzufügen.

Ich habe alles probiert was ich mir denken kann!
Code:
# useradd USER
# mkdir /home/USER
# chown -R USER /home/USER
# passwd USER
# PASSWORD
# PASSWORD
# su USER
# mkdir /home/USER/.ssh
# chmod 700 /home/USER/.ssh
# vi /home/USER/.ssh/authorized_keys2
Public Key eingefügt
Code:
# chmod 600 /home/USER/.ssh/authorized_keys2
Sicherheitshalber nochmal sshd neugestartet und ich bekomme jedesmal "Server refused our Key" als Fehlermeldung

Die sshd_config

Code:
Protocol 2
PermitRootLogin yes
PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no

Weiß jemand was ich übersehen habe?

Die Benutzerrechte ausgabe l für authorized_keys2

Code:
-rw------- 1 USER users  395 Aug 17 21:47 authorized_keys2

Und für /home/USER/ und /home/USER/.ssh ist es die gleiche Vergabe!

OS OpenSUSE
 
Du kannst den sshd auf der Konsole auch im Debug-Modus starten (/usr/sbin/sshd -d -d -d -f /etc/ssh/sshd_config -p 1234). Dabei wird der sshd nicht als Daemon gestartet sondern bleibt im Vordergrund. Versuche nochmal dich auf dem angegeben (= nicht-Standardport auf dem der normale sshd läuft) zu connecten. Auf der Konsole und in den Log-Dateien solltest Du anschließend eine Unmenge an Informationen finden, die Dir beim Fehlerfinden helfen.
Achtung, falls Du dabei ein Passwort zum Authentifizieren verwendest, erscheint dies im Klartext in den Log-Dateien....
 
Back
Top