Anzeige:
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 31

Thema: ssh in ein ShellScript ausfuehren

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh in ein ShellScript ausfuehren

    hi,
    hab folgende frage:
    ist es moeglich ssh in einem script auszufuehren??
    incl der frage: are your sure you want to continue
    connecting(yes/no) yes, und dem login

    hab in den foren ein beispiel von telnet gefunden.
    (showthread.php?t=88948 vom 11.7.2003)

    zitat...........................................
    #!/usr/bin/expect
    spawn telnet login.rz.uni-xxxxx.de
    set timeout 20

    expect "Benutzername*:" { send "login\r"}
    expect "Kennwort*:" { send "password\r"}
    zitat ende......................................

    gibts so was in der art....

    auf der console funzzt s praechtig

    waere um jede hilfe dankbar
    mfg
    nomad

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Du kannst ssh auch mit Private/Public-Key Authentifizierung betreiben.
    Wenn du das Passwort für die Keys leer lässt wird überhaupt nix mehr abgefragt und du kannst aus dem Script mit
    ssh root@hostname rm -Rf /
    die Festplatte remote löschen lassen

    Wie du die Konfig-Files und so dafür einrichtest guckst du am besten bei Linuxforen nach.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    an peschmae - ssh in einem ShellScript ausfuehren

    hi,
    du hast mich vermutlich falsch verstanden.
    hab rausgefunden wenn ich das erstemal in einer
    sitzung ssh verwende also:
    ssh 192.168.100.5

    dann kommt die yes/no-frage & frage frage nach dem
    login name.

    bei einer 2. sitzung mit ssh

    kommt bei mir sofort: "have a lot of fun"

    und ich kann dann meine befehle absetzen.

    ich brauch die ssh fuer nur 2 dinge: also:

    1) connection : ssh 192.168.100.5
    2) cd /development/nomadVision/
    3) convert -threshold 128 image1.jpg image2.jpg
    4) exit

    das ist alles was ich mit ssh vorhabe.
    und das klappt manuell auch.
    ich moechte auch nix auf der festplatte loeschen oder
    so, das image1.jpg wird von einen anderen script
    ueberschrieben, image2.jpg wird von IMAGEMAGICK automatisch ueberschrieben.

    die frage ist wie ich diese 4 punkte in ein Script
    verpacken kann.

    ss. obiges zitat eines telnet_scriptes.
    hab in meinen klugenBuechern leider nichts dementsprechendes gefunden.

    also ev. im stil: (nach der 2.sitzung) ss.oben
    #!/usr/bin/expect

    spawn ssh 192.168.100.56
    set timeout 20 # fuer "have a lot of fun"
    expect { send "cd/development/nomadVision\r" }
    expect { send "convert -threshold 128 image1.jpg image2.jpg\r" }
    expect { send "exit\r" }

    - ende vom script.
    hab das aber noch nicht ausprobiert,
    da ich keine hinweise auf spawm und expect gefunden hab.

    waere froh um hinweise, wie man ein solcher script
    schreiben koennte.
    mfg nomad

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Code:
    ssh user@hostname "convert -threshold 128 /development/nomadVision/image1.jpg /development/nomadVision/image2.jpg"
    und dann wie schon gesagt mit Public-Key-Zeugs damit ssh die Sache ohne Passwortabfrage ausführt.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh mit shellScript ausfuehren an peschmae

    hi,
    vielen dank fuer deine hilfe.
    1)nur eins versteh ich nicht ganz.
    imagemagick schreib meines wissens folgende
    code-sequence vor.
    convert -threshold 128 image1.jpg image2.jpg
    so funkts bei mir jedenfalls.
    sollte nun der code nicht so aussehen:

    ssh user@hostname "convert -threshold 128 image1.jpg image2.jpg /development/nomadVision/

    oder???

    2) ich trau mich fast nicht zu fragen:

    wie stehts nun mit "exit" um ssh zu beenden???

    hab beim googglen folgendes gefunden
    da war die frage ob die ssh-verbindung nach dem befehl
    automatisch getrennt wird:

    achtung: antwort: original zitat als code:

    ssh testix@servix "sh /user/testix/machwas.sh"

    das waere doch was???

    nochmals vielen dank fuer deine antwort und deine
    geduld
    mfg nomad

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von nomad
    code-sequence vor.
    convert -threshold 128 image1.jpg image2.jpg
    so funkts bei mir jedenfalls.
    sollte nun der code nicht so aussehen:

    ssh user@hostname "convert -threshold 128 image1.jpg image2.jpg /development/nomadVision/
    Wieso denn das?

    wie stehts nun mit "exit" um ssh zu beenden???
    afaik wird ssh gestartet, der angegebene befehl ausgeführt und ssh dann gleich wieder beendet.
    Zitat Zitat von Manpage
    If command is specified, command is executed on the remote host instead of a login shell.
    Da keine login shell ausgeführt wird musst du diese auch nicht beenden.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh in shellScript ausfuehre an: peschmae

    hi,
    vielen dank fuer deine raschen antworten

    wegen imageMagick sequences,
    Zitat von nomad

    code-sequence vor.
    convert -threshold 128 image1.jpg image2.jpg
    so funkts bei mir jedenfalls.
    sollte nun der code nicht so aussehen:

    ssh user@hostname "convert -threshold 128 image1.jpg image2.jpg /development/nomadVision/


    deine antwort: Wieso denn das?

    hab das so rausgeknobelt, image1 wird mit -threshold verarbeitet und dann
    in image2 gespeichert.????
    mit'm script hab ich das mal probiert
    also cd /devevlopment/nomadVision/ -- jetzt bin ich im entsprechenden verzeichnis
    wo image1 liegt, dann imagemagick laufen lassen, output im gleichen verzeichnis
    image2.
    mir kam nur die 2xmalige verwendung von /development/nomadVision/ komisch vor. aber ich probiers heute einfach mal aus.

    nochmals dank fuer deine hilfe.

    ups entschuldige : ich bin jetzt in einem internet-cafe.
    frage: da der ganze obige stuff ohne internet stattfindet, die beiden rechner stehen
    nebeneinander und haben keinen zugriff aufs internet. ist das Public-Key-Zeugs notwendig, oder gehts auch ohne???

    mfg nomad

  8. #8
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ich glaub schon dass du das Public-Key Zeugs brauchst. Ich wüsste auf jeden Fall nicht wie man sonst ssh dazu bringen könnte auf Passwörter zu verzichten. Einfach abschalten wäre auch lokal sehr unsicher.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  9. #9
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh script an peschmae

    hi,
    es ist so, hab heute nachmittag rausgefunden,
    dass auf dem PC64 mit suse 6.4. 2 verschiedene ssh-pgm liegen
    1) openssh ist installiert
    2) ssh ist nicht installiert
    gibts da unterschiede??
    die yast-beschreibungen der pgm sind indentisch.

    weisst du
    1)das ganze zeugs dient eigentlich nur zur
    input-erzeugung fuer ein recht grosses neuronales netz,
    mit ca. 9000 neuronen, und im grunde genommen sollte das
    netz-programm den ganzen stuff automatisch steuern.
    2) bin ich gar nicht gegen ein public-key zeugs.
    nur eben, nachdem ich heute in einem netzwerk buch
    den teil ueber ssh und public keys (betr.suse)
    durchgelesen hatte, trau ich mir das nicht ganz zu (:->
    ich moecht mir nicht unbedingt die ganze sache mit ssh vermurksen und dann geht gar nichts mehr....
    ehrlich gesagt ich hab fracksausen. da schreib ich lieber nochmals paar neuronaleNetze. ehrlich.

    ich dachte eher daran das passwort einfach zum anderen
    rechner zu schicken.
    also so in der form
    1) verbindungs-aufbau
    2) timeout fuer die anzeige von ssh "password"
    3) dann so eine art von send "Pass",
    4) dann den eigentlichen befehl (imagemagick)
    5) am schluss send "exit",
    desswegen meine frage oben wegen exit...

    also vielen dank auch und einen schoenen abend.
    mfg nomad

  10. #10
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ssh ist ein protokoll - und openssh eine Implementierung davon. OpenSSH ist das was ich normalerweise verwende - kenne gar nix anderes. k.A. was das Ssh-Paket bei dir beinhaltet - entweder eine andere Implementierung von Ssh oder Openssh - am besten installierst du openssh.

    Die ssh-Sache ist nicht soo kompliziert wies tönt - das Zeugs kann nur halt viel mehr, etc.

    Geht etwa so:
    1. ssh auf beiden PCs installieren
    2. auf der Maschine die nachher Passwortlos auf die andere zugreifen soll ausführen:
    ssh-keygen -t dsa
    3. Passwort leer lassen (einfach Enter)
    4. scp ~/.ssh/id_dsa.pub 192.168.1.38:.ssh/authorized_keys2
    5. ssh 192.168.1.38 "chmod 644 .ssh/authorized_keys"

    das wärs schon - jetzt solltest du mit "ssh 192.168.1.38" passwortlos auf den anderen PC zugreifen können.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  11. #11
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh an peschmae

    hi,
    hab dank, probiers aus
    und meld mich wieder
    mfg nomad

  12. #12
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh die zweite

    hi,
    shit da ist was in die hose gegangen:
    also von anfang an (da bei mir cut & paste nicht funzt)
    muss ich den ganzen quark jetzt online abtippen:
    also

    1. ssh auf beiden pc installiert == ok
    2. auf der maschine (pc90) die nachher passwortlos auf den
    andern pc64 zugreifen will, folgendes ausfuehren:

    ssh-keygen -t dsa
    -- answer: generating public/private dsa key pair
    (enter file in which to save the key (/root/.ssh/id_dsa):

    myinput: only enter

    -- enter passphrase...
    myinput: only enter
    -- enter passphrase again...
    myinput: only enter
    -- your identification has been saved in
    /root/.ssh/id_dsa
    the key saved in /root/.ssh/id_dsa.pub
    fingerprint.........

    my quote: saved in /root/.ssh/id_dsa.. etc on pc90

    in deinem beispiel nehm ich ist die ip:192.168.1.38
    meine ip auf den entfernten rechner also
    192.168.100.1

    4. your quote as input:
    scp ~/.ssh/id_dsa.pub.192.168.100.1:.ssh/authorized_keys2

    -- root(at)192.168.100.1 password
    myinput: password
    -- id_dsa.pub 100% 600 0.0KB/s 00:00
    5. ssh 192.168.100.1. "chmod 644 .ssh/authorized_keys"

    -- root(at)192.168.100.1 password
    myinput: password

    jetzt kommt der hammer:

    -- chmod: .ssh/authorized_keys: no such file or directory

    hah...
    ev. folgendes problem auf pc64
    ev. vermurktes datei und zugriffs-system:
    folgendes heraus gefunden pc 64 mit ls -a (fueer versteckte files)

    unter /home/ == .ssh aber leer
    unter /home/netants/ (sollte user sein == .ssh aber leer
    unter /root/ == .ssh == inhalt authorized_key2 known_hosts

    da ist doch was falsch,
    muss dazu sagen, dass bei pc64 damals vermutlich als
    voelliger newbie beim installieren einen murks abgelassen
    hab, kann mich auf diesen rechner nur als root anmelden,
    ):-)
    netants als user ist nur als verzeichnis vorhanden
    da ich auf dieser maschine alles als root erledige, ich
    weiss aber es hat was mit meinen projecten zu tun,
    schlussendlich soll da mal ein autonomes MasterSystem
    schalten.

    koennt ich ev.da das public-key zeugs unter /root/
    existiert das in das richtige verzeichnis (welches ist
    das nun) umkopieren und dann nochmals chmod starten.

    wenigsten funktioniert ssh (mit passwort noch)

    entschuldige dass ich mich so daemlich anstelle aber eben
    waere um jede hilfe sehr sehr dankbar
    mfg nomad

    ps: meld mich heute abend nochmals..

  13. #13
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    5. ssh 192.168.1.38 "chmod 644 .ssh/authorized_keys"

    sollte natürlich so heissen:

    5. ssh 192.168.1.38 "chmod 644 .ssh/authorized_keys2"

    Falls das nicht geht benennst du die dann auch mal nach authorized_keys um.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  14. #14
    Registrierter Benutzer
    Registriert seit
    19.09.2000
    Ort
    ch-8408 winterthur
    Beiträge
    150

    ssh die dritte

    hi,
    gut probier das mal aus,
    stutzig macht mich nur das
    -- chmod: .ssh/aauthorized_keys: no such file or directory
    danke, bis spaeter
    mfg nomad

  15. #15
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    ja eben, die Datei heisst halt nicht so

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •