BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

SSH nur mit Public Key Authentifizierung erlauben

Aus Sicherheitsgründen kann man das Einloggen per SSH nur noch mit Public-Key Authentifizierung erlauben. Dazu muss zuerst ein Schlüsselpaar erzeugt werden:

# ssh-keygen -t rsa

Es empfiehlt sich eine Passphrase für den Schlüssel zu setzen. Danach kann der Public-Key auf den Rechner geladen werden:

# cd ~/.ssh && cat id_rsa.pub | ssh <Benutzer>@<Rechner> "cat >> .ssh/authorized_keys"

Nun muss die sshd.conf angepasst werden. Diese befindet sich sowohl auf FreeBSD, als auch auf OpenBSD unter /etc/ssh/sshd_config.

# echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
# echo "PasswordAuthentication no" >> /etc/ssh/sshd_config

Nun muss der SSH-Daemon neu gestartet werden. Auf FreeBSD wird dies wie folgt gemacht:

# /etc/rc.d/sshd restart

Auf OpenBSD kann dies so gemacht werden:

# kill -HUP `ps -ax | grep sbin/sshd | grep -v grep | awk '{print $1}'`

Nun kann man sich nur noch mit der Public-Key Authentifizierung anmelden. Sollte man allerdings seinen Private-Key verlieren, so hat man sich per SSH aus dem Rechner ausgesperrt. Es lohnt sich also eine Sicherheitskopie von seinem Private-Key (~/.ssh/id_rsa) an einem sicheren Ort aufzubewahren.

Comments (3)  Permalink

Comments

Remi @ 28.10.2006 21:32 UTC
Einfachere Variante um sshd unter OpenBSD neu zu starten:

# kill -HUP `cat /var/run/sshd.pid`

oder noch einfacher:

# pkill -HUP sshd
Andreas Maus @ 12.05.2008 16:06 UTC
Linux-User sollten noch "UsePAM no" verwenden da PAM authentication meist gleichbedeutend mit password authentication ist.

man 5 sshd_config:

[... snipp ...]
Because PAM challenge-response authentication usually serves an equivalent role to password authentication, you should disable either PasswordAuthentication or
ChallengeResponseAuthentication.
[... snipp ...]
Lambda Media @ 26.07.2008 21:20 UTC
Genau das was ich gesucht hatte, danke.

Noch eine Sache die hier passt: root login abschalten und mit su arbeiten!
No new comments allowed (anymore) on this post.