Skript auf lokalem Rechner und über ssh

  • Ersteller Chicago Whistle
  • Erstellt am
Chicago Whistle

Chicago Whistle

Aktives Mitglied
Thread Starter
Dabei seit
24.08.2005
Beiträge
2.431
Reaktionspunkte
14
Hallo!

Ich möchte gerne ein Skript erstellen, das einen lokalen Befehl ausführt und dann über ssh noch zwei weitere an einem anderen Rechner.

Das Skript meldet sich auch per ssh am anderen Rechner an, aber dann stopt es.

Hier hab ich dazu auch nichts gefunden, man ssh hilft mir auch nicht weiter. Wie macht man so was?

Beispiel:

date
ssh admin@192.168.0.15
chmod -R 755 /bla
exit

macht nicht mit chmod weiter sondern hört nach dem Anmelden auf.
 
tja ganz einfach du musste den befehl hinter das ssh schreiben damit darn ausgeführt wird.
So wie du es geschrieben hast passiert folgendes:
der Rechner gibt das date aus…
der rechner meldet sich auf dem anderen an und dann ist er auf der anderen shell … und das wars da soll er nach dem Skript nix tun … also wartet er bis was passiert…
Wenn er sich dann wieder abmeldet (irgendwann) dann würde er chmod machen … und zwar nicht auf dem Remote sondern auf dem lokalen Rechner.

richtig wäre:

date
ssh -l admin 192.168.0.15 echo $HOME
exit

MFG
 
Dankeschön.

Wie baut man denn in deinem Beispiel ein Passwort ein um es nicht jedesmal mit der Hand eingeben zu müssen?
 
Gar nicht.
ssh heisst secure shell.
 
passwort kannst du in der Tat nicht reinpipen … aber sicherer ist soweiso RSA. Dann brauchst du kein PW mehr sondern authentifizierst dich über einen RSA Schlüssel. Wie das geht kannst du hier Nachlesen:
http://kmself.home.netcom.com/Linux/FAQs/sshrsakey.html

MFG

@maceis: ssh heisst nicht secure weil man kein PW reinpipen kann, sondern weil man RSA verwenden kann, sie sicherheit eines PW sei mal dahingestellt ;)
 
Zuletzt bearbeitet von einem Moderator:
Nun, meines Wissens heisst es secure shell, weil es als sichere Alternative zu rsh gedacht war.
Ein Aspekt der Sicherheit ist der, dass man ein Passwort nicht in den Kommandoaufruf und somit auch nicht in ein Skript integrieren kann, wie das beispielsweise bei ftp möglich ist. Auf Umwegen gehts natürlich trotzdem, aber das ist ein anderes Thema :D.
 
Zuletzt bearbeitet:
Auf Umwegen gehts natürlich trotzdem, aber das ist ein anderes Thema :D.
Der "Umweg" ist die public-key-Authentifizierung: Setzt SSH2 voraus, ist nicht die flexibelste, aber im Vergleich mit Passwort-Authentifizierung genau so sicher, vorausgesetzt man gibt acht auf die private-key files.

Wir haben etliche Scripte laufen, die per SSH Befehle und Scripte auf entfernten Maschinen laufen lassen.
 
Naja also ein PW per script mitgeben geht ja nun wirklich nicht… Also eigentlich ist auch das secure an ssh das alles verschlüsselt übertragen wird … Aber lassen wir jetzt mal das aufzählen der Vorteile von ssh :D
 
Doch, geht, ist aber nicht der Sinn der Sache und meist auch nicht empfehlenswert.

Ich hab mir mal sowas gebastelt, um über ssh einige Einstellungen meines Cisco Routers ändern zu können. public-key-Authentifizierung konnte mein IOS nicht, insofern schied diese Möglichkeit aus.

Außerdem hat man bei embedded Systems (Beispiel Fritzbox) öfter mal das Problem, dass man mit "kastrierten" ssh Implementationen zu tun hat. Da muss man eben kreativ werden ;).
 
Auf der Fritzbox läuft doch auch dropbbear? Wie läuft das denn auf der Fritz!Box mit der public-key Authentifizierung?

Ich habe meinen Client zu den authorized_keys hinzugefügt und die Anmeldung klappt auch ohne Passwort, wenn ich allerdings in der Post-boot Datei dropbear mit „dropbear -s” aufrufe, kann ich mich nicht mehr per ssh verbinden.



Anleitung dropbear public-key-Anleitung

noch ein Tutorial

und hier

//Auch nach dieser Anleitung habe ich alles richtig gemacht und wie gesagt, der passwortlose Zugriff funktioniert auch.

//Es lag wohl irgendwie daran, dass man dropbear -s nicht da aufrufen kann, wo ich wollte (post-boot). In /init.d/ läuft es auch mit -s.

Danke für die Hilfe.
 
Zuletzt bearbeitet:
Zurück
Oben Unten