Einloggen per »ssh«
Um sich auf einem anderen Linux-/Unix-Rechner einzuloggen, verwendet man das Programm »ssh«, wie im folgenden Beispiel gezeigt:
# ssh -X nutzer@rechnername
Ist »nutzer« identisch zum aktuellen Account, kann diese Angabe entfallen. Mit »-X« wird die Weiterleitung der grafischen Ausgabe des Zielrechners eingeschaltet.
Nach diesem Aufruf wird nach dem Passwort, welches auf dem entfernten Rechner gilt, gefragt. Bei sehr häufiger An- und Abmeldung ist die immer wiederkehrende Passwortabfrage störend. Sie kann wie folgt vermieden werden.
Neues Paar von ssh-Schlüsseln (privaten und offiziellen Schlüssel) erzeugen
Dies ist nur nötig, wenn nicht bereits früher geschehen.
ssh-keygen -t rsa -N ""
Auf die Frage
Enter file in which to save the key (/home/???/.ssh/id_rsa):
sollte dieser standardmäßige Platz mit <enter> bestätigt werden.
Kopieren des offiziellen Schlüssels zum Zielrechner
ssh-copy-id nutzer@rechnername
Hier muss ein letztes Mal das Passwort eingegeben werden.
Test des Einloggens ohne Passworteingabe
# ssh nutzer@rechnername
Verteilen des ssh-Schlüssels auf viele Rechner
Wie oben beschrieben, kann das Programm ssh-copy-id
benutzt werden, um den
eigenen offiziellen Schlüssel zu einem entfernten Rechner zu kopieren, um sich
dort künftig ohne Eingabe des Passwortes einloggen zu können. Das ist
insbesondere dann von großem Vorteil, wenn ein Script automatisch auf einem
entfernten Rechner Aufgaben erfüllen soll (Softwareverteilung mit rsync
ggf.
per cron-Job gesteuert u.ä). Derartige Aufgaben müssen u.U. auf vielen Rechnern
gleichartig erfüllt werden, was eine umfangreiche Schlüsselverteilung
erfordert. Im Folgenden wird ein Weg gezeigt, um dies zu vereinfachen.
ssh-deploy-key
Installation des Programms Als »root« auszuführen:
git clone https://bitbucket.org/travis_bear/ssh-deploy-key.git
cd ssh-deploy-key
git checkout master
python setup.py install
Wenn nicht bereits vorhanden, muss auch noch die Python-Bibliothek NaCl
installiert werden:
zypper in python2-PyNaCl python-devel
Beispiel zur Anwendung
ssh-deploy-key a73434 a73435 i75422
Der eigene offizielle Schlüssel, also der des Aufrufenden (z.B. des Nutzers
»root«), wird nacheinander auf drei entfernte Rechner verteilt, sodass das
Einloggen dort keiner Passworteingabe mehr bedarf. Nähere Hinweise zu
ssh-deploy-key
erhält man unter den folgenden Adressen
https://ssh-deploy-key.readthedocs.io/en/latest/using.html und
https://bitbucket.org/travis_bear/ssh-deploy-key sowie per
ssh-deploy-key --help