Hallo allerseits,
ichhabe ein kleiens Problemchen, vielleicht kann ja jemand helfen und weiss wie es geht. Ich habe ein kleines Scrpzchen, um auf meinem root server einen Befehl auszuführen, hier exemplarisch ein restart des webservers. Das funktioniert auch, leider erkennt er nicht wenn ein falsches Kennwort eingegeben wird, also auf der ssh konsole Access denied erscheinen würd. Kenne mich mit den Umleitungsgeschichten noch nicht so aus, hier das kleine script:
AutoIt
...
.
.
Local $Password = InputBox("Anmeldeinformationen", "Geben Sie Ihr Passwort ein:", "", "*")
; Passwort muss eingegeben werden
If $Password <> "" Then
; Starten Sie PowerShell und übergeben Sie das Passwort
Local $ServerIP = "x.x.x.x"
Local $Command = 'systemctl restart apache2'
Local $PSCommand = 'powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "'
; SSH Anmeldung
$PSCommand &= '$Username = \"root\" ; ' ; Hier ist der Benutzername festgelegt
$PSCommand &= '$Password = ConvertTo-SecureString -String \"' & $Password & '\" -AsPlainText -Force ; '
$PSCommand &= '$Credential = New-Object System.Management.Automation.PSCredential($Username, $Password) ; '
$PSCommand &= '$Session = New-SSHSession -ComputerName \"' & $ServerIP & '\" -Credential $Credential -Port 22 ; '
;SSH befehl ausführen
$PSCommand &= 'Invoke-SSHCommand -SSHSession $Session -Command \"' & $Command2 & '\" ; ' ;restart Apache
;SSH beenden
$PSCommand &= 'Remove-SSHSession -SSHSession $Session ; '
$PSCommand &= '"'
RunWait($PSCommand, "", @SW_HIDE)
MsgBox(0, "Info", " Server wurde neu gestartet.")
Else
MsgBox(16, "Fehler", "Kein Passwort eingegeben.")
EndIf
...
.
.
Alles anzeigen
Vielen dank schon mal und einen schönen Rest Sonntag
lg