* Sebastian G�ndisch ([EMAIL PROTECTED]) wrote/schrieb:
> Es ist nicht direkt ein Problem, aber ein nettes Feature.
> Ich w�rde gerne aus einem Script heraus auf einem anderen Rechner andere
> Scripte bzw Befehle ausf�hren, ohne mich von Hand �ber Telnet oder SSH auf dem
> Rechner einzuloggen u.s.w. .
> Kennt jemand von euch einen "�blichen" Weg oder Tools oder Ideen.
Stehen beide Rechner im selben freundlichen Netz, oder hast Du ein
feindliches Netz (Internet) dazwischen?
Wenn sie im selben Netz (z.B. zuhause) stehen, dann per /etc/hosts.equiv
daf�r sorgen, da� die R-Kommandos ohne Kennwort gehen, und dann die
gew�nschten Befehle per rsh starten. So starte ich hier Fetchmail:
xterm -e rsh betty fetchmail -van
Auf dem Server (betty) steht in /etc/hosts.equiv einfach der Name meiner
Workstation.
Schlechte Methode. Nur f�r Null-Sicherheit wie zuhause geeignet.
Hinweis: Was jetzt kommt, ist viel einfacher und benutzerfreundlicher, als
es aussieht, also bitte geduldig lesen und schrittweise ausprobieren. ;-)
Wenn das ganze sicherer sein soll, brauchst Du SSH mit RSA-Authentication.
Das ist ein Challenge-Response Verfahren mit asymmetrischer
Verschl�sselung, f�r das Du dann nat�rlich ein Paar aus privatem und
�ffentlichem Schl�ssel ben�tigst.
Dazu erzeugst Du Dir mit "ssh-keygen" ein Schl�sselpaar. Den �ffentlichen
Schl�ssel h�ngst Du auf dem entfernten Server an die Datei
~/.ssh/authorized_keys. Dann sorgst Du daf�r, da� der entfernte Server
RSA-Authentication durchf�hrt. In der sshd_config mu� dazu dort stehen:
RSAAuthentication yes
Wenn Du Dich jetzt per SSH auf den entfernten Server verbindest, solltest
Du nach der Passphrase f�r den RSA-Key, und nicht mehr nach Deinem Kennwort
gefragt werden. Wenn in der Abfrage "RSA" steht, ist alles in Ordnung.
Die einfache Methode, kein Kennwort mehr einzugeben, w�re jetzt, das
Kennwort per ssh-keygen zu "nullen", also f�r den privaten Schl�ssel keine
Passphrase mehr zu haben. Diese Methode saugt aber. Wer die Schl�sseldatei
in seinen Besitz bringt, kann sich dann f�r Dich ausgeben. Wenn Du das
machen willst, findest Du am besten per man ssh-keygen raus, wie es geht.
:-)
Es geht aber auch richtig geil (sorry...): Man kann einen sogenannten
SSH-Agent starten. Dem gibt man einen Kindproze�, z.B. eine Shell, mit. Das
geht z.B. so:
$ ssh-agent bash
Dann l�uft der Agent. Dem laufenden Agent kannst Du nun das Kennwort f�r
Deinen RSA-Key anvertrauen, indem Du in der von ihm gestarteten Shell den
Befehl "ssh-add" aufrufst:
$ ssh-add
Need passphrase for /home/martin/.ssh/identity
Enter passphrase for [EMAIL PROTECTED]:
Identity added: /home/martin/.ssh/identity ([EMAIL PROTECTED])
Wenn Du jetzt in der unter dem SSH-Agent laufenden Shell "ssh" oder "scp"
aufrufst, wirst Du nicht mehr nach dem Kennwort gefragt. Der SSH-Agent wei�
es schon.
So ist das aber langweilig, weil man ja immer "ssh-agent bash" starten mu�.
Das Maximum an Coolness ist erreicht, wenn der ssh-agent der Parent-Proze�
aller Fenster auf Deinem Desktop ist. Also, in ~/.xinitrc folgendes
reinschreiben (es folgt auszugsweise meine xinitrc):
WM=enlightenment
exec ssh-agent $WM
Alle Prozesse in Deiner X-Umgebung sind jetzt also Kinder des SSH-Agent.
Jetzt mu�t Du nur noch einmal (am besten irgendwie per Autostart) ssh-add
ausf�hren, wenn Du Dich in X anmeldest. Danach wird Dein SSH-Kennwort in
JEDEM xterm bekannt sein, das Du in der laufenden Sitzung startest.
ssh-add hat auch ein X-Interface. Dazu einfach die Eingabe aus /dev/null
umleiten:
ssh-add < /dev/null
Wenn eh kein Terminal mit SSH-Add asoziiert ist, kommt der X-Dialog auch
ohne die Umleitung.
> Bis jetzt habe ich versucht bei SSH den Befehl einfach beim Aufruf hinten dran
> zu h�ngen. Ist auch so vorgesehen, nur leider verlangt er dabei immer die
> interaktive Eingabe des Passwortes. Ich komme einfach nicht weiter.
So kommst Du garantiert weiter. Ich hole per SSH-Tunneling meine Mails per
POP3 ab, ohne irgendein Kennwort einzugeben, und meine Terminals auf den
ganzen Servern, die drau�en stehen, poppen alle nach dem Anklicken ohne
Kennwortabfrage auf. Der ssh-agent ist die beste Erfindung seit dem
geschnittenen Brot.
�ber diesen Befehl starte ich aus dem Enlightenment-Men� eine Shell auf dem
PUG-Server, und mu� kein Kennwort mehr eingeben:
xterm -title tux.pug.org -e ssh tux.pug.org
Es lohnt sich �brigens, sich dann auch gleich noch mit "xscreensaver"
auseinanderzusetzen, damit der Bildschirm automatisch gesperrt wird. ;-)
-martin
--
I haven't lost my mind; I'm sure it's backed up on tape somewhere!
---------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org