1.117. ssh
Tipps und Tricks zum Umgang mit OpenSSH unter *BSD und Linux. Ein SSH-Client für Windows ist PuTTY.
1.117.1. sshd zum Starten verfügbar machen
1.117.1.1. FreeBSD
sysrc sshd_enable="YES"
oder in die Datei /etc/rc.conf
sshd_enable="YES"
eintragen.
1.117.1.2. OpenBSD
In die Datei /etc/rc.conf.local
oder die Datei /etc/rc.conf
sshd_flags=""
eintragen.
1.117.1.3. NetBSD
In die Datei /etc/rc.conf
sshd=YES
eintragen.
1.117.1.4. DragonFlyBSD
In die Datei /etc/rc.conf
sshd_enable="YES"
eintragen.
Alternativ sollte auch die Version von NetBSD funktionieren.
1.117.2. Einloggen über SSH ohne Passworteingabe
Bemerkung
Das Einloggen ohne Passwort kann mitunter ein Sicherheitsrisiko darstellen.
1.117.2.1. Sinn der Sache
Viele haben zu Hause (oder sonstwo) mehrere Rechner, auf denen ein SSH-Daemon läuft - sei es zur Verwaltung des Rechners oder sonstigem. Jedoch kann es, wenn man sich oft auf den Maschinen einloggen muss, mitunter recht nervig werden, jedes Mal das Passwort einzutippen. Der Austausch der Public-Keys schafft hier Abhilfe.
1.117.2.2. Vorgehen
In meinem Beispiel arbeite ich jetzt erst einmal mit dem imaginären User
bob
, welcher einen Account sowohl auf rechner1.domain.bla
als
auch auf rechner2.domain.bla
hat.
rechner1.domain.bla
ist der Rechner, an dem bob sitztauf
rechner2.domain.bla
loggt er sich mehrmals täglich per SSH ein.
Der erste Schritt ist, für bob
auf rechner1.domain.bla ein
Key-Pair zu erstellen (hierbei ist der Witz bei der Frage nach dem
Passwort keines einzugeben, sondern einfach mit Return zu bestätigen):
bob@rechner1.domain.bla ~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/bob/.ssh/id_rsa):↵
Created directory '/home/bob/.ssh'.
Enter passphrase (empty for no passphrase):↵
Enter same passphrase again:↵
Your identification has been saved in /home/bob/.ssh/id_rsa.
Your public key has been saved in /home/bob/.ssh/id_rsa.pub.
The key fingerprint is:
1f:66:ea:96:83:16:6c:aa:be:1c:71:56:55:5b:e9:da bob@rechner1.domain.bla
Als nächster Schritt loggt bob
sich auf rechner2.domain.bla
ein,
und überprüft, ob das Verzeichnis ~/.ssh
in seinem Homedirectory
exisitiert. Wenn nicht - erstellen. Ausloggen. Dann, als bob
an
rechner1.domain.bla
in das Verzeichnis ~/.ssh
wechseln und
folgendes eingeben:
$ cat id_rsa.pub | ssh bob@rechner2.domain.bla "cat >> .ssh/authorized_keys"
Man wird jetzt ein letztes Mal nach dem Passwort gefragt. Wenn das alles
erledigt ist, kann bob
sich von rechner1.domain.bla
einfach mit
$ ssh bob@rechner2.domain.bla
auf rechner2.domain.bla
ohne Passwort einloggen.
1.117.2.3. Alternativen
Login per pam_ssh
1.117.2.4. Vorgehensweise bei ssh-agent nach MrFixit
Man muss den Passphrase nur einmal eingeben, dann wird der Schlüssel dekodiert und im Speicher gehalten. Solange bis man den ssh-agent wieder beendet (also spätestens beim reboot). Da man das ganze mit pam_ssh verbandeln kann, kann man sich sogar die Passworteingabe für den normalen xdm/login-Login sparen.
Hier nochmal mein Setup:
/etc/pam.d/xdm
die pam_ssh Sachen auskommentiert und want_agent gesetzt.
Login per
xdm
mit user/passphrase (ich muss also zum Anmelden nur die Passphrase meines priv. Schluessels eingeben und auch nur einmal)Schnelle ssh-logins bis ich mich aus X wieder abmelde
1.117.2.5. ssh-multiplexing
Viele Leute öffnen eine ssh-session, geben 2-3 Befehle ein und melden sich wieder ab. Mit ssh-multiplexing, das seit OpenBSD 3.6 verfügbar ist, kann man aber direkt so arbeiten:
$ ssh server ps aux
$ ssh server ls /root
$ ssh server /usr/local/etc/rc.d/foo.sh stop
1.117.3. Siehe auch
Zuletzt geändert: 2023-07-22