Wie richte ich sshd unter Mac OS X so ein, dass nur eine schlüsselbasierte Authentifizierung möglich ist?


15

Ich habe einen Mac OS X-Computer (Mac mini mit 10.5) mit aktivierter Remote-Anmeldung. Ich möchte den SSHD-Port für das Internet öffnen, um mich remote anmelden zu können.

Aus Sicherheitsgründen möchte ich Remoteanmeldungen mithilfe von Kennwörtern deaktivieren, sodass sich nur Benutzer mit einem gültigen öffentlichen Schlüssel anmelden können.

Was ist der beste Weg, um dies in Mac OS X einzurichten?

Antworten:


20

Nach einigem Ausprobieren habe ich die Antwort selbst gefunden. Diese Optionen müssen eingestellt werden in /etc/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication no

Es reicht nicht aus, nur einen davon zu wechseln.


3
In El Capital (und wahrscheinlich auch in Mavericks) änderte sich der Standort auf /etc/ssh/sshd_configanstelle von nur/etc/sshd_config
yorch

Das war die Lösung. Viele Online - Ressourcen nicht erwähnen , um den Schlüssel zu dieser ganzen Sache: ChallengeResponseAuthentication no.
the_real_one

1

In / etc / ssh / sshd_config

# To disable tunneled clear text passwords, change to no here! Also,
# remember to set the UsePAM setting to 'no'.
#PasswordAuthentication yes
#PermitEmptyPasswords no

Setzen Sie PasswordAuthentication auf no und entfernen Sie das # davor.


Haben Sie den obigen Kommentar zum Setzen von UsePAM auf "Nein" gelesen?
user21715

Das scheint nicht nötig zu sein (siehe meine eigene Antwort).
Christian Berg

0

Tatsächlich setzen Sie in / etc / sshd_config die folgende Zeile:

PasswordAuthentication no

Wenn Sie eine Standardinstallation verwenden (dh Sie haben sie nicht selbst von der Quelle erstellt / installiert), sollte launchd darauf achten, die neue Konfiguration zu übernehmen, ohne den Dämon neu starten zu müssen.


Das funktioniert nicht, ich kann mich trotzdem mit meinem Passwort einloggen. Die Logdatei /var/log/secure.log enthält einen Eintrag wie diesen: sshd [16306]: Akzeptiert keyboard-interactive / pam für christian von 192.168.178.20 port 63841 ssh2 Ich glaube, die PasswordAuthentication-Option kontrolliert nur Klartext-Passwort-Logins, nicht tastaturinteraktiv?
Christian Berg
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.