![]() | Uhrzeit: 12:17:35 h Datum: 21-11-2008 Druckseite: Service/SSH Login ohne Passwort http://www.x11media.com | Drucken | Seite schließen |
* Du möchtenst Linux und OpenSSH für automatische Aufgaben verwenden.
* Für diese Aufgaben brauchst du eine eine automatische Anmeldung von Computer / Benutzer A <--> dem Computert B / Benutzer B.
* Du kannst keine Kennwörter eingeben, weil ssh von einem Shellscript aus aufgerufen wird.
Und so wird es gemacht:
Zuerst meldest du dich per ssh am Comuter A als Benuzer A an.
ssh BenuzerA@ComputerAPassword:
Last login: Tue Jan 9 22:09:30 2007 from xxx.xxx.xxx.xxx
Jetzt muss man erst mal den Authorisationsschlüssel generieren, hierfür darf kein Passwort eingeben werden, einfach nur 2 x [Enter] (die Anmeldung ohne Passwort ist ja auch unser Ziehl ).
BenuzerA@ComputerA:~# ssh-keygen -t rsaGenerating public/private rsa key pair.
Enter file in which to save the key (/home/BenuzerA/.ssh/id_rsa):
Created directory '/home/BenuzerA/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/BenuzerA/.ssh/id_rsa.
Your public key has been saved in /home/BenuzerA/.ssh/id_rsa.pub.
The key fingerprint is:
ge:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 BenuzerA@ComputerA
Jetzt benutzen wir ssh um ein Verzeichniss ~/.ssh als BenutzerB auf ComputerB zu erstellen. (Das Verzeichnis existiert möglicherweise schon, macht aber auch nichts):
BenuzerA@ComputerA:~> ssh BenuzerB@ComputerB mkdir -p .sshBenuzerB@ComputerB's password:
Nun hängen wir den neuen öffentlichen Schlüssel von BenuzerA an BenuzerB@ComputerB:.ssh/authorized_keys an und geben das Kennwort von BenuzerB ein letztes Mal ein:
BenuzerA@ComputerA:~> cat .ssh/id_rsa.pub | \ssh BenuzerB@ComputerB 'cat >> .ssh/authorized_keys'
BenuzerB@ComputerB's password:
Nun an kannst du dich ohne Passwort von ComputerA auf ComputerB anmelden:
BenuzerA@ComputerA:~> ssh BenuzerB@ComputerBBenuzerB@ComputerB:~#
Das Verzeichnis .ssh/ und der Inhalt sollte nur lesbar von aktuellen Benutzer sein!
Also chmod 700 .ssh/ und chmod 600 .ssh/*
[xwinmaniac]