Befehl via Netzwerk in einer shell
![](https://seccdn.libravatar.org/avatar/71b83e2e1a65c75b2c0bb6bb4f4890c1.jpg?s=120&d=mm&r=g)
Hallo ! Ich möchte folgendes : auf PC1 wird via cron ein shellprogramm aufgerufen. nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb. ---shellbeisp ... ... START PC2:programm ... --- nur wie kann ich zb den login via telnet "automatisieren" ( das programm würde ja bei der pwabfrage "scheitern" ) - bzw es soll nur ein befehl ausgeführt werden ( user ) telnet -l user PC2 ist ja leider etwas "unvollständig" hat jemand ne idee ? -- Government [is] an illusion the governed should not encourage. -- John Updike, "Couples" ---------------------------------- Registierter Linux - User #177159 ICQ - UIN : 51735624 HP : http://members.tripod.de/LinuxCobra/
![](https://seccdn.libravatar.org/avatar/bc1efdd7cadcc5c363a124c8a7f2e976.jpg?s=120&d=mm&r=g)
Moin, Marco_Jaeger@gmx.de schrieb:
Ich möchte folgendes :
nur wie kann ich zb den login via telnet "automatisieren" ( das programm würde ja bei der pwabfrage "scheitern" ) - bzw es soll nur ein befehl ausgeführt werden ( user ) telnet -l user PC2 ist ja leider etwas "unvollständig"
hat jemand ne idee ?
SSh & Perl, da givbt es im CPAN ein paar passende Module. search.cpan.org Ciao Andre
![](https://seccdn.libravatar.org/avatar/cb21584e227edfad6d73dfb148eb2eeb.jpg?s=120&d=mm&r=g)
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
Hallo !
Ich möchte folgendes :
auf PC1 wird via cron ein shellprogramm aufgerufen.
nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb. ---shellbeisp ... ... START PC2:programm ... ---
nur wie kann ich zb den login via telnet "automatisieren" ( das programm würde ja bei der pwabfrage "scheitern" ) - bzw es soll nur ein befehl ausgeführt werden ( user ) telnet -l user PC2 ist ja leider etwas "unvollständig"
hat jemand ne idee ?
Hallo Marco, wie wäre es, wenn Dir telnet (oder ssh) aus der Hand [oder Datei] liest? ;-) telnet -l user PC2 < steuerdatei In steuerdatei sollten alle benötigten Eingaben, vom Passwort bis zum logout/exit-Befehl stehen (falls nicht - viel Spaß beim warten ;-). Das funktioniert so auch mit ssh. Problem: Das Passwort liegt im Klartext in steuerdatei. Eine weitere Möglichkeit ist es, auf PC2 einen neuen User anzulegen, ohne Passwort (Sicherheit?!), dann in seiner ~/.profile folgendes eintragen: testapp #das Programm aufrufen [...] exit 0 #als letzten Befehl (damit wird die Sitzung wieder geschlossen #und es geht weiter). Diese Methode verwende ich, um meinen Server herunterzufahren (Benutzer halt, sudo init 0). Eine weitere Variante ist es, mit ssh den Vorgang zu steuern (sicherer, ansonsten gleiche Vorgehensweise), in diesem Fall muss dann ein Schlüssel im Home-Verzeichnis von user auf PC2 abgelegt werden - ging in den letzten Tagen über die Liste. Dadurch kann man sich den Klartext-Passworteintrag in steuerdatei sparen, das erledigt dann der Schlüssel. Noch eine Bitte: schreibe bitte in Zukunft Deine Mails an suse-linux@suse.com, nicht an SuSE-Linux@suse.com (also die Empfängeradresse kleinschreiben). Siehe dazu auch meine Mail "Mails an die Liste - Empfängeradresse" von gestern sowie die Re's. Gruß Christian Boltz -- Linux is like a wigwam: no gates, no windows, and an apache inside.
![](https://seccdn.libravatar.org/avatar/318fce3ea1d3dd3d68d9f415a2612300.jpg?s=120&d=mm&r=g)
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
Ich möchte folgendes :
auf PC1 wird via cron ein shellprogramm aufgerufen.
nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb.
ssh PC2 "programm" eventuell mit -l user noch den Benuzter mitgeben, unter dem das ausgeführt werden soll.
nur wie kann ich zb den login via telnet "automatisieren" ( das
Nö, Du willst telnet nicht verwenden, da Du nicht willst, dass Dein Passwort unverschlüsselt übers Netz geht und Du willst auch nicht, dass es in einem Shell Script unverschlüsselt steht. Damit Dich ssh rein läst, ohne das Passwort zu erfragen, musst Du Dir ein paar Keys auf PC1 erstellen (ähnlich PGP/GPG) das geht z.B. mit ssh-keygen -b 1024 -f ~/.ssh/identity -N '' den generierten Public-Key von PC1 unter ~/.ssh/identity.pub kopierst Du Dir in das File ~/.ssh/authorized_keys von PC2. Natürlich muß auf PC2 auch der sshd laufen fürs login über ssh. Beim ersten versuch wirst Du noch gefragt, ob das ok ist, dann läufts künftig ohne jegliche Abfrage, die ein Shellscript stören würde. -- Machs gut | http://www.iiv.de/schwinde/buerger/tremmel/ | http://www.knightsoft.de Manfred | http://www.knightsoft-net.de
![](https://seccdn.libravatar.org/avatar/4542889fedf110f995951b8eb266c6ad.jpg?s=120&d=mm&r=g)
Am 01-Sep-01 schrieb Manfred Tremmel :
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
Ich möchte folgendes :
auf PC1 wird via cron ein shellprogramm aufgerufen.
nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb.
ssh PC2 "programm"
eventuell mit -l user noch den Benuzter mitgeben, unter dem das ausgeführt werden soll.
nur wie kann ich zb den login via telnet "automatisieren" ( das
Nö, Du willst telnet nicht verwenden, da Du nicht willst, dass Dein Passwort unverschlüsselt übers Netz geht und Du willst auch nicht, dass es in einem Shell Script unverschlüsselt steht.
Damit Dich ssh rein läst, ohne das Passwort zu erfragen, musst Du Dir ein paar Keys auf PC1 erstellen (ähnlich PGP/GPG) das geht z.B. mit
ssh-keygen -b 1024 -f ~/.ssh/identity -N ''
den generierten Public-Key von PC1 unter ~/.ssh/identity.pub kopierst Du Dir in das File ~/.ssh/authorized_keys von PC2. Natürlich muß auf PC2 auch der sshd laufen fürs login über ssh. Beim ersten versuch wirst Du noch gefragt, ob das ok ist, dann läufts künftig ohne jegliche Abfrage, die ein Shellscript stören würde.
-- Machs gut | http://www.iiv.de/schwinde/buerger/tremmel/ | http://www.knightsoft.de Manfred | http://www.knightsoft-net.de
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
-- Everyone is a genius. It's just that some people are too stupid to realize it. ---------------------------------- Registierter Linux - User #177159 ICQ - UIN : 51735624 HP : http://members.tripod.de/LinuxCobra/
![](https://seccdn.libravatar.org/avatar/71b83e2e1a65c75b2c0bb6bb4f4890c1.jpg?s=120&d=mm&r=g)
Am 01-Sep-01 schrieb Manfred Tremmel :
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
auf PC1 wird via cron ein shellprogramm aufgerufen.
nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb.
ssh PC2 "programm"
eventuell mit -l user noch den Benuzter mitgeben, unter dem das ausgeführt werden soll.
nur wie kann ich zb den login via telnet "automatisieren" ( das
Nö, Du willst telnet nicht verwenden, da Du nicht willst, dass Dein Passwort unverschlüsselt übers Netz geht und Du willst auch nicht, dass es in einem Shell Script unverschlüsselt steht.
Damit Dich ssh rein läst, ohne das Passwort zu erfragen, musst Du Dir ein paar Keys auf PC1 erstellen (ähnlich PGP/GPG) das geht z.B. mit
ssh-keygen -b 1024 -f ~/.ssh/identity -N ''
den generierten Public-Key von PC1 unter ~/.ssh/identity.pub kopierst Du Dir in das File ~/.ssh/authorized_keys von PC2. Natürlich muß auf PC2 auch der sshd laufen fürs login über ssh. Beim ersten versuch wirst Du noch gefragt, ob das ok ist, dann läufts künftig ohne jegliche Abfrage, die ein Shellscript stören würde.
hmhm soweit alles gemacht - nur fehlt noch irgendwas ---- jmarco@PC1:~ > ssh PC2 "play /home/Sound/wav/program.wav" -ljmarco The authenticity of host 'PC2 (192.168.0.11)' can't be established. RSA1 key fingerprint is [ gelöscht ] Are you sure you want to continue connecting (yes/no)? --- das wars... Start_SSHD ist auf yes - in PC2/etc/hosts.equiv ist PC1 eingetragen aber irgendwas fehlt noch ??¿¿?? -- Why did the Lord give us so much quickness of movement unless it was to avoid responsibility with? ---------------------------------- Registierter Linux - User #177159 ICQ - UIN : 51735624 HP : http://members.tripod.de/LinuxCobra/
![](https://seccdn.libravatar.org/avatar/c084596a000742076ab02a3f8790b2aa.jpg?s=120&d=mm&r=g)
Moin Marco_Jaeger, * Marco_Jaeger@gmx.de schrieb am 03 Sep 2001:
Am 01-Sep-01 schrieb Manfred Tremmel :
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
auf PC1 wird via cron ein shellprogramm aufgerufen.
nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb.
ssh PC2 "programm"
[...]
hmhm soweit alles gemacht - nur fehlt noch irgendwas
---- jmarco@PC1:~ > ssh PC2 "play /home/Sound/wav/program.wav" -ljmarco The authenticity of host 'PC2 (192.168.0.11)' can't be established. RSA1 key fingerprint is [ gelöscht ] Are you sure you want to continue connecting (yes/no)?
An dieser Stelle einmal "yes" eintippen, dann sollte es gehen. Wenn ssh sich zu einem anderen Rechner verbindet, dann bekommt es von dem einen Schlüssel. Da es den Rechner aber nicht "kennt", fragt es beim Benutzer nach, ob der das wirklich möchte bzw daß der ihm bestätigt, daß es wirklich der Rechner ist. Beim nächsten Start vergleicht ssh den erhaltenen mit dem gespeicherten Schlüssel. Wenn die beiden übereinstimmen, dann wird ohne Kommentar verbunden. Wenn die nicht stimmen.. na, das wirst du dann schon sehen :-) Gruß, Sebastian -- Do not meddle in the affairs of Wizards, for they are subtle and quick to anger. Sebastian Helms - http://www.helms.sh - mailto:mail@helms.sh (PGP welcome) SuSE-Linux-Mailinglisten-FAQ: http://www.helms.sh/faq/
![](https://seccdn.libravatar.org/avatar/71b83e2e1a65c75b2c0bb6bb4f4890c1.jpg?s=120&d=mm&r=g)
Am 03-Sep-01 schrieb Sebastian Helms :
Moin Marco_Jaeger,
[...]
hmhm soweit alles gemacht - nur fehlt noch irgendwas
---- jmarco@PC1:~ > ssh PC2 "play /home/Sound/wav/program.wav" -ljmarco The authenticity of host 'PC2 (192.168.0.11)' can't be established. RSA1 key fingerprint is [ gelöscht ] Are you sure you want to continue connecting (yes/no)?
An dieser Stelle einmal "yes" eintippen, dann sollte es gehen.
*g* ok - nu klappts bin irgenwie anscheinend noch n bisserl "verblödet" ( oder mit meinen Geda nken bei den anderen problemen *g* ) - hab statt yes nur y getippt - und daraufhin ging das spiel von vorne los *gg* Danke :)))) ps. sorry das da heute ne "Fehlmail" kam - irgendwie konnte ich die aus der sendmailqueue ned komplett rauslöschen ( das war das erste mal das ich sowas versuchte bzw versuchen mußte ) -- There's so much plastic in this culture that vinyl leopard skin is becoming an endangered synthetic. -- Lily Tomlin ---------------------------------- Registierter Linux - User #177159 ICQ - UIN : 51735624 HP : http://members.tripod.de/LinuxCobra/
![](https://seccdn.libravatar.org/avatar/71b83e2e1a65c75b2c0bb6bb4f4890c1.jpg?s=120&d=mm&r=g)
Hallo !!! Leider habe ich inzwischen bemerkt das die Sache nen Haken hat.... Es ist so : auf PC1 läuft ja via Cron regelmäßig das Shell-Programm dort werden einige parameter überprüft. wenn ganz bestimmte parameter zutreffen soll das programm ein anderes ausführen via netzerk soweit klappt das ja , nur : solange programm 2 , das via ssh gestartet wird nicht beendet ist, rührt sich programm 1 nicht mehr vom fleck :((( hat jemand ne idee wie ich den aufruf umdefinieren muß , damit beide programme quasi parallel laufen ? momentan : ssh pc2 "/usr/ebin/programm <parameter>" falls sich jemand wundert : das verzeichnis ist selbstangelegt für "eigene" programme - sei es jetzt selbstgeschriebene shells oder gesaugte zusatzprogramme -- Wombat's Laws of Computer Selection: (1) If it doesn't run Unix, forget it. (2) Any computer design over 10 years old is obsolete. (3) Anything made by IBM is junk. (See number 2) (4) The minimum acceptable CPU power for a single user is a VAX/780 with a floating point accelerator. (5) Any computer with a mouse is worthless. -- Rich Kulawiec ---------------------------------- Registierter Linux - User #177159 ICQ - UIN : 51735624 HP : http://members.tripod.de/LinuxCobra/
![](https://seccdn.libravatar.org/avatar/69c58ae2aceea076959f9eaea95cc044.jpg?s=120&d=mm&r=g)
Moin!
hat jemand ne idee wie ich den aufruf umdefinieren mu� , damit beide programme quasi parallel laufen ?
momentan : ssh pc2 "/usr/ebin/programm <parameter>"
mit 'nem & dahinter in den Hintergrund schicken ? Dann sollte das Programm auf PC1 doch weiterlaufen... ER!K
![](https://seccdn.libravatar.org/avatar/71b83e2e1a65c75b2c0bb6bb4f4890c1.jpg?s=120&d=mm&r=g)
Am 01-Sep-01 schrieb Manfred Tremmel :
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
auf PC1 wird via cron ein shellprogramm aufgerufen.
nun möchte ich, das ich in dieser shell ein Programm auf PC2 ausführen kann zb.
ssh PC2 "programm"
eventuell mit -l user noch den Benuzter mitgeben, unter dem das ausgeführt werden soll.
nur wie kann ich zb den login via telnet "automatisieren" ( das
Nö, Du willst telnet nicht verwenden, da Du nicht willst, dass Dein Passwort unverschlüsselt übers Netz geht und Du willst auch nicht, dass es in einem Shell Script unverschlüsselt steht.
Damit Dich ssh rein läst, ohne das Passwort zu erfragen, musst Du Dir ein paar Keys auf PC1 erstellen (ähnlich PGP/GPG) das geht z.B. mit
ssh-keygen -b 1024 -f ~/.ssh/identity -N ''
den generierten Public-Key von PC1 unter ~/.ssh/identity.pub kopierst Du Dir in das File ~/.ssh/authorized_keys von PC2. Natürlich muß auf PC2 auch der sshd laufen fürs login über ssh. Beim ersten versuch wirst Du noch gefragt, ob das ok ist, dann läufts künftig ohne jegliche Abfrage, die ein Shellscript stören würde.
hmhm soweit alles gemacht - nur fehlt noch irgendwas ---- jmarco@PC1:~ > ssh PC2 "play /home/Sound/wav/program.wav" -ljmarco The authenticity of host 'PC2 (192.168.0.11)' can't be established. RSA1 key fingerprint is [ gelöscht ] Are you sure you want to continue connecting (yes/no)? [abbruch mitstrg+c ] jmarco@PC1:~ > --- das wars... Start_SSHD ist auf yes - in PC2/etc/hosts.equiv ist PC1 eingetragen aber irgendwas fehlt noch ??¿¿?? -- Why did the Lord give us so much quickness of movement unless it was to avoid responsibility with? ---------------------------------- Registierter Linux - User #177159 ICQ - UIN : 51735624 HP : http://members.tripod.de/LinuxCobra/
![](https://seccdn.libravatar.org/avatar/633c54285c7a57fd28b5120201c4109f.jpg?s=120&d=mm&r=g)
On Mon, 3 Sep 2001 Marco_Jaeger@gmx.de wrote:
Am 01-Sep-01 schrieb Manfred Tremmel :
Am Freitag, 31. August 2001 18:44 schrieb Marco_Jaeger@gmx.de:
[...] Nö, Du willst telnet nicht verwenden, da Du nicht willst, dass Dein Passwort unverschlüsselt übers Netz geht und Du willst auch nicht, dass es in einem Shell Script unverschlüsselt steht.
Damit Dich ssh rein läst, ohne das Passwort zu erfragen, musst Du Dir ein paar Keys auf PC1 erstellen (ähnlich PGP/GPG) das geht z.B. mit
ssh-keygen -b 1024 -f ~/.ssh/identity -N ''
den generierten Public-Key von PC1 unter ~/.ssh/identity.pub kopierst Du Dir in das File ~/.ssh/authorized_keys von PC2. Natürlich muß auf PC2 auch der sshd laufen fürs login über ssh. Beim ersten versuch wirst Du noch gefragt, ob das ok ist, dann läufts künftig ohne jegliche Abfrage, die ein Shellscript stören würde.
hmhm soweit alles gemacht - nur fehlt noch irgendwas
---- jmarco@PC1:~ > ssh PC2 "play /home/Sound/wav/program.wav" -ljmarco The authenticity of host 'PC2 (192.168.0.11)' can't be established. RSA1 key fingerprint is [ gelöscht ] Are you sure you want to continue connecting (yes/no)? [abbruch mitstrg+c ] jmarco@PC1:~ >
--- das wars...
Start_SSHD ist auf yes - in PC2/etc/hosts.equiv ist PC1 eingetragen
Wieso denn "Abbruch" an dieser Stelle? Die Frage muss mit "yes" beantwortet werden, sonst geht's gar nicht erst weiter. Das ist schon in Ordnung und nur eine Sicherheitsabfrage, dass Du noch einmal bewusst darueber nachdenkst, ob Du da den richtigen Host hast. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
participants (8)
-
aheine
-
Christian Boltz
-
Erik Lins
-
LinuxCobra@gmx.de
-
Manfred Tremmel
-
Marco_Jaeger@gmx.de
-
Peter Blancke
-
Sebastian Helms