2016-05-30 2 views
0

Ich benutze posh-ssh zu meinem ssh Server verbinden einige Befehle starten mit su root, aber ich kann nicht Benutzer root erfolgreich wechseln.Wie zu "sudo root" mit Posh-SSH (Powershell)

PS C:\> $rootpwdSec = ConvertTo-SecureString $rootpwd -AsPlainText -Force 
PS C:\> Invoke-SSHStreamExpectSecureAction -Command 'su ' -ExpectString 'Password:' -SecureAction $rootpwdSec -ShellStream $stream 
True 
PS C:\> $stream.read(); 

[[email protected] admin]# 
PS C:\> Invoke-SSHCommandStream -SessionId $SessionId -Command 'id' 
uid=500(admin) gid=500(admin) groups=500(admin) context=user_u:system_r:unconfined_t 
PS C:\> 

wie kann ich meinen Befehl als root ausführen?

Antwort

1

Was mir bei der Arbeit mit posh-ssh und ubuntu aufgefallen ist, war, dass ich aufgrund des ExpectStrings mit "sudo su -" nicht zum sudo sudo gelangen konnte. Es wurde erwartet „[sudo] password for (Benutzername):“ und ich war nur die Bereitstellung „Passwort:“

$stream = $session.Session.CreateShellStream("PS-SSH", 0, 0, 0, 0, 100) 
$user = Invoke-SSHCommand $session -Command "whoami" 
$SSHusersName = $user.Output | Out-String 
$SSHusersName = $SSHusersName.Trim() 
$results = Invoke-SSHStreamExpectSecureAction -ShellStream $stream -Command "sudo su -" -ExpectString "[sudo] password for $($SSHusersName):" -SecureAction $secpas 
$stream.Read() 

Dies war, wie ich sudo der Lage war, zu verankern. Wieder kann es für Sie unterschiedlich sein, abhängig davon, mit welcher * nix-Variante Sie sich verbinden.

Verwandte Themen