SSH: bei einen User Pubkey-Auth erzwingen

GwenDragon

Registered User
Derzeit ist ein SSH-Server so abgesichert, dass alle User sich per Pubkey authentifizieren müssen.

RSAAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no

Ich möchte jedoch nur bei einem User das Login mit Pubkey erlauben, bei anderen ganz normal per Loginpasswort.

Geht das überhaupt?
die sshd_config lässt sowas wohl nicht, wenn ich das man richtig interpretiere.

Crosspost: http://forum.ubuntuusers.de/topic/ssh-bei-einen-user-pubkey-auth-erzwingen/
 
Last edited by a moderator:
Dein Vorhaben kannst du mit "Match" (man sshd_config) umsetzen.

Code:
# globale Konfiguration
RSAAuthentication yes
PubkeyAuthentication no
PasswordAuthentication yes
[...]

UsePAM yes
[...]
# Match 
Match User <username>
RSAAuthentication no
PubkeyAuthentication yes
PasswordAuthentication no
 
Ähmm, wenn es in der man page drin gewesen wäre, wär es mir aufgefallen.
Aber in meiner man sshd_config fehlt das Schlüsselwort Match.

Mein openssh-server ist OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

Match gibt es wohl erst ab Version OpenSSH 5?
 
Was spricht dagegen, global PubKey oder Passwort zu erlauben und dem betreffenden User einfach kein Paßwort (keinen Hash) einzutragen?
Das mache ich z.B. mit Accounts so, die nur zum automatischen rsyncen verwendet werden.
 
Zitat von GwenDragon
Match gibt es wohl erst ab Version OpenSSH 5?

Da hast du sicher Recht. Ich beziehe mich hier auf die Version in "Debian Lenny".
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007​

Welche Distribution setzt denn dieses veraltete OpenSSH-Paket ein?

edit: Ah sehe es gerade. "rhel5"
 
Last edited by a moderator:
@chris00
Match klappt bei dem Server nicht :(
Starting sshd: /etc/ssh/sshd_config: line 123: Bad configuration option: Match
/etc/ssh/sshd_config: terminating, 1 bad configuration options
Wohl sshd zu alt.

Da hast du sicher Recht. Ich beziehe mich hier auf die Version in "Debian Lenny".
OpenSSH_5.1p1 Debian-5, OpenSSL 0.9.8g 19 Oct 2007​

Welche Distribution setzt denn diese veraltete OpenSSH-Paket ein?
CentOS 5.5

@Whistler
Auf dem System soll halt der root-Zugang nur mit Pubkey und nicht mit Passwort geschehen (obwohl root eines hat!).
Derjenige, der den Rechner betreibt will das so, weil er keine Lust hat, ein ellenlanges Passwort jedesmal einzutippen.
Zudem lässt sich doch ein Zugang nur mit Passwort eher per bruteforce knacken, ein Pubkey nicht. Oder täusch ich mich da?
 
Ohne aktuelleren sshd wirst Du die gewünschte Konfiguration nicht realisieren können - es sei denn, Du startest den sshd zwei Mal auf unterschiedlichen Ports und mit unterschiedlicher Konfiguration - für die normalen User z. B. auf 22, ohne PubKeyAuth und PermitRootLogin no. Dann noch mal auf einem separaten Port mit PubKeyAuth und PermitRootLogin yes.

Oder Du wartest noch ein bisschen - RHEL 6 ist ja schon draußen, da dürfte CentOS 6 so in ein, zwei Monaten spätestens ebenfalls zu haben sein.
 
Dazu benoetigst du die Match-Direktive nicht. Das geht direkt mit PermitRootLogin without-password, siehe sshd_config(5).
Root-Login ohne Passwortschutz? Unsicher.

Vielleicht versteht man mich nicht richtig.
Was ich will: Bei root Pubkey erzwingen und Login ohne Pubkey abweisen.
Das geht m. E. nur über Match.
 
Last edited by a moderator:
es sei denn, Du startest den sshd zwei Mal auf unterschiedlichen Ports und mit unterschiedlicher Konfiguration - für die normalen User z. B. auf 22, ohne PubKeyAuth und PermitRootLogin no. Dann noch mal auf einem separaten Port mit PubKeyAuth und PermitRootLogin yes.
Daran habe ich auch schon als Notlösung gedacht.

Oder Du wartest noch ein bisschen - RHEL 6 ist ja schon draußen, da dürfte CentOS 6 so in ein, zwei Monaten spätestens ebenfalls zu haben sein.
Muss ich mal abwarten, ob das dem VServer passt.
 
Was ich will: Bei root Pubkey erzwingen und Login ohne Pubkey abweisen.
Vielleicht verstehst du mich nicht richtig oder bist zu faul die verlinkte Dokumentation zu lesen. Im ersten Fall erklaere ich es gerne nochmal, im zweiten Fall bist du auf dich allein gestellt.
 
Vielleicht verstehst du mich nicht richtig oder bist zu faul die verlinkte Dokumentation zu lesen. Im ersten Fall erklaere ich es gerne nochmal, im zweiten Fall bist du auf dich allein gestellt.
Nee, zu faul nicht. ;)
Gelesen habe ich, nur nicht richtig.
Entschuldige, meine falsche Interpretation.

PermitRootLogin
Specifies whether root can log in using ssh(1). The argument
must be ``yes'', ``without-password'', ``forced-commands-only'',
or ``no''. The default is ``yes''.

If this option is set to ``without-password'', password
authentication is disabled for root.
Lesen sollte eine können. :o
 
Back
Top