Powershell - SSH zu 15 Servern
Hallo.
Sorry... ich habe jetzt nach mehreren Stunden vermutlich einfach nur ein Brett vor dem Kopf...
Ich habe ca. 15-20 Linux Server. Hier möchte ich per SSH zugreifen. Soweit...
Die einzelnen Zugriffe klappen auch. Nur möchte ich EIN Powershell-Script (oder auch CMD) ausführen und jede Verbindungen als EXTRA Powershell-Fenster (oder Tab´s) angezeigt.
(Und wenn es geht, der Luxusteil, würde ich gerne 2 Befehle direkt ausführen.)
Mir brummt der Schädel... vermutlich habe ich bei der Suche schon zich mal drüber weggelesen...
Schon mal vielen Dank.
Sorry... ich habe jetzt nach mehreren Stunden vermutlich einfach nur ein Brett vor dem Kopf...
Ich habe ca. 15-20 Linux Server. Hier möchte ich per SSH zugreifen. Soweit...
Die einzelnen Zugriffe klappen auch. Nur möchte ich EIN Powershell-Script (oder auch CMD) ausführen und jede Verbindungen als EXTRA Powershell-Fenster (oder Tab´s) angezeigt.
(Und wenn es geht, der Luxusteil, würde ich gerne 2 Befehle direkt ausführen.)
Mir brummt der Schädel... vermutlich habe ich bei der Suche schon zich mal drüber weggelesen...
Schon mal vielen Dank.
ssh -i C:\Users\MyUsername\.ssh\MyKey.pem -p 123 root@MyServer1.ddns.me
ssh -i C:\Users\MyUsername\.ssh\MyKey.pem -p 471 root@MyServer2.ddns.me
ssh -i C:\Users\MyUsername\.ssh\MyKey.pem -p 321 root@MyServer3.ddns.me
usw.
#Befehl 1 = hostname -f
#Befehl 2 = df -h
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 51321596361
Url: https://administrator.de/contentid/51321596361
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
14 Kommentare
Neuester Kommentar
Powershell
Batch
$servers = 'MyServer1.ddns.me','MyServer2.ddns.me','MyServer3.ddns.me'
foreach($server in $servers){
Start-Process cmd -Argumentlist "/k ssh -i `"C:\Users\MyUsername\.ssh\MyKey.pem`" -p 123 root@$server `"hostname -f;df -h`""
}
set "servers=MyServer1.ddns.me MyServer2.ddns.me MyServer3.ddns.me"
for %%a in (%servers%) do start "" cmd /k ssh -i "C:\Users\MyUsername\.ssh\MyKey.pem" -p 123 root@%%a "hostname -f;df -h"
so geheimtrick von hinten durchs auge
also anstatt
machst du (Code darfst selbst rausfinden:
Variable zusammenbauen und zwar deine Zeile:
ssh -i `"C:\Users\MyUsername\.ssh\MyKey.pem`" -p 123 root@$server `"hostname -f;df -h`""
nenen wir sie mal $VarServerZeile
Dann
Speicher die Variable in eine Datei Pfad\serverconnect.bat (welche immer übeschrieben wird, oder du machst dynamische Namen wie du willst...)
Und nun
Dann wir sich für jede .bat die du so executest ein extra DOS Fenster aufmachen.
Sprich du generierst dynamische .bat Dateien und führst sie aus
ODER für Faule....
du machst dir deine 25 .bat Dateien manuell und dann machst du eben 25 Zeilen im Powershell Script:
also anstatt
foreach($server in $servers){
Start-Process cmd -Argumentlist "/k ssh -i `"C:\Users\MyUsername\.ssh\MyKey.pem`" -p 123 root@$server `"hostname -f;df -h`""
}
machst du (Code darfst selbst rausfinden:
foreach($server in $servers){
ssh -i `"C:\Users\MyUsername\.ssh\MyKey.pem`" -p 123 root@$server `"hostname -f;df -h`""
nenen wir sie mal $VarServerZeile
Dann
Speicher die Variable in eine Datei Pfad\serverconnect.bat (welche immer übeschrieben wird, oder du machst dynamische Namen wie du willst...)
Und nun
Start-Process Pfad\serverconnect.bat
}
Dann wir sich für jede .bat die du so executest ein extra DOS Fenster aufmachen.
Sprich du generierst dynamische .bat Dateien und führst sie aus
ODER für Faule....
du machst dir deine 25 .bat Dateien manuell und dann machst du eben 25 Zeilen im Powershell Script:
Start-Process Pfad\serverconnect1.bat
Start-Process Pfad\serverconnect2.bat
Start-Process Pfad\serverconnect3.bat
Moin,
wenn du für ein Programm abseits der Kommandozeile offen bist, lohnt es sich mRemoteNG anzuschauen. Dort wird jede (vorab gespeicherte) Verbindung in einem eigene Tab geöffnet. Und das Programm kann mit weiteren Protokollen umgehen.
Die Verwendung eines Key Files mit mRemoteNG wird z. B. hier beschrieben: https://technotes.khitrenovich.com/opening-ssh-aws-hosted-linux-servers- ...
Gruß
TA
wenn du für ein Programm abseits der Kommandozeile offen bist, lohnt es sich mRemoteNG anzuschauen. Dort wird jede (vorab gespeicherte) Verbindung in einem eigene Tab geöffnet. Und das Programm kann mit weiteren Protokollen umgehen.
Die Verwendung eines Key Files mit mRemoteNG wird z. B. hier beschrieben: https://technotes.khitrenovich.com/opening-ssh-aws-hosted-linux-servers- ...
Gruß
TA
Joa, Ich fahr auch immer erst durch die Waschanlage um mich danach auf der ortsansässigen Schlamm Strecke auszutoben ... 🙃 Unglaublich ... 🤣.
Dann möchte ich manuell weitere Scripte und Befehle ausführen.
Einfach noch ein;/bin/bash -i
............ `"hostname -f;df -h;/bin/bash -i`""