vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
cmd starten, ssh starten und dann sendkeys. So möglich? 
Autor: Virtex
Datum: 30.08.21 14:56

Hallo zusammen,

ich würde gerne ein kleines Projekt umsetzen, bei dem es um Updates geht.

Das Update funktioniert über ssh. Da dies an ca. 140 Maschinen gemacht werden muss, würde ich gerne ein Programm schreiben, welches ein cmd öffnet, ssh startet und sich mit dem jeweiligen Server verbindet und dann über sendkeys die Anmeldedaten und die weiteren Befehle in das cmd Fenster übergeben und ausführen. Geht sowas überhaupt und wenn ja wie?

Im Grund müsste es doch ähnlich so funktionieren:

befehl = "cmd /K ssh user@serverip"
shell (befehl)
abfangen ob schonmal genutzt (md5 Warnung -> falls sie kommt tippe "yes" _
  sonst "username" + enter)
warte 5 sekunden
sendkeys "passwort" an das cmd fenster (es laufen mehrere weitere Fenster. Muss _
  das richtige sein!)
warte 10
befehlt 1 enter
warte 10 sekunden
sendkeys "passwort"
warte 3
sendkeys "neuer befehl"
usw...
Leider funktioniert bislang der Start noch nicht einmal, da das Programm die ssh.exe nicht findet (auch bei voller Pfadangabe)

Oder ist es hierfür einfacher ein komplettes Terminal selbst zu schreiben und dort ein Makro abzuspielen?
Würde gerne vermeiden das alles immer weider händisch machen zu müssen...

Gruß
Virtex
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: cmd starten, ssh starten und dann sendkeys. So möglich? 
Autor: emaNoN
Datum: 30.08.21 15:53

Kopier dir die ssh.exe mal in dein Projektverzeichnis und dann:

befehl = "cmd /K " & App.Path & "\ssh.exe user@serverip"


Beitrag wurde zuletzt am 30.08.21 um 16:09:25 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: cmd starten, ssh starten und dann sendkeys. So möglich? 
Autor: Virtex
Datum: 30.08.21 16:39

Hi.

Danke für den Tipp. Das reinklopieren hat geholfen. Musste den Befehl zwar noch umbauen aber dann hats geklappt. Nun startet das cmd Fenster und führt auch gleich den ssh Befehl aus. Beim login bleibt es allerdings stehen und ich kann mit sendkeys nichts reinschicken.

Hab auch schon versucht nur ein leeres cmd Fenster zu öffnen. Auch da wird nichts reingesendet. Im Gegenteil.

Es öffnen sich viele weitere Fenster wenn ich es mit

SendKeys = "passwort{ENTER}"
versuche. Muss dann hart stoppen, da sonst immer weiter cmds geöffnet werden.

Wenn ich es mit einem leeren cmd Fenster und

SendKeys = "x"
teste, passiert nichts außer ein geöffnetes Fenster mit blinkendem Cursor. Das "x" wird nicht gesendet.

Woran kann das liegen?

Gruß

Virtex

Beitrag wurde zuletzt am 30.08.21 um 16:40:39 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: cmd starten, ssh starten und dann sendkeys. So möglich? 
Autor: emaNoN
Datum: 01.09.21 08:42

„Oder ist es hierfür einfacher ein komplettes Terminal selbst zu schreiben und dort ein Makro abzuspielen?“

Mir ist nicht ganz klar, was du eigentlich vorhast. Hast dich schon 'mal mit Putty/Plink beschäftigt?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: cmd starten, ssh starten und dann sendkeys. So möglich? 
Autor: Virtex
Datum: 03.09.21 09:32

Hi emaNoN,

Habs jetzt hinbekommen. Musste eine andere SendKeys-Funktion nutzen und mit der klappt es jetzt

Putty haben wir sonst immer genutzt für ssh Verbindungen. Aber durch das kopieren der ssh.exe in den App.Path und die Anpassung an der Sendkeys Funktion habens dann doch irgendwie gelöst
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel