SSH and Debian
Linux Tools
Da in der Wörterpresse-Wohnung vier Rechner stehen, und nicht alle einen Monitor zur Verfügung haben, war es natürlich wünschenswert sich per ssh von einem auf den anderen einloggen zu können.
Was ist zu tun? Auf allen Maschinen das Paket openssh-server installieren:
apt-get install openssh-server
Anschließend kann man sich problemlos von jeder Maschine auf eine andere einloggen (Voraussetzung man ist als User dort auch bekannt.) Bei jedem Einloggen ist das Passwort einzugeben. Dafür bzw. dagegen (gegen die Passwortabfrage nämlich) ist natürlich auch ein Kraut gewachsen. Die Methode der Authentifizierung mit keys. Dazu muss man sich zuerst auf jeder Maschine einen Schlüssel erzeugen:
ssh-keygen -t rsa
Dieser Aufruf erzeugt den privaten Schlüssel für die Maschine und den öffentlichen, der auf den jeweiligen Servern vorhanden sein muss. Da ich mit der Zeit mit den ganzen Schlüsseln etwas durcheinander gekommen bin, habe ich die öffentlichen Schlüssel direkt nach dem Erzeugen umbenannt: id_rsa.hostname.pub Wobei hostname der Name des Rechners ist, zu dem der öffentliche Schlüssel gehört. Dieses File wird dann auf sämtliche Server-maschinen verteilt:
scp id_rsa.hostname.pub user@servername:~/.ssh
Anschließend auf dem jeweiligen Server einloggen und das zugehörige File in die Datei authorized_keys mergen:
cat id_rsa.hostname.pub >> authorized_keys
Wichtig: Bei allen Dateien in ~/.ssh sollte ein chmod og-r * durchgeführt werden. Die Files dürfen keinesfalls für Fremde lesbar sein!
Nachdem diese Files also überall verteilt wurden, kann man sich in Zukunft ohne die Eingabe eines Passwortes anmelden.
PS: Die keys können auch noch mit einem Passwort gesichert werden. Und das sollten sie auch. Um dann die erneute Eingabe der Passwörter zu verhindern, gibt es das Werkzeug ssh-agent. Es wird auf der Konsole mit
eval $(ssh-agent)
gestartet. Anschließend mit
ssh-add ~/.ssh/id_rsa
Das Passwort für den entsprechenden Schlüssel hinzufügen. Der Agent verwaltet dann die Passwörter.

