簡體   English   中英

如何使用 posh-ssh (powershell) “sudo root”

[英]how to “sudo root” with posh-ssh (powershell)

我正在使用posh-ssh連接到我的 ssh 服務器執行一些以su root開頭的命令,但我無法成功地將用戶切換到 root。

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();

[root@aaaaaa-test 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:\>

如何以 root 身份運行我的命令?

我在使用 posh-ssh 和 ubuntu 時注意到的是,由於 ExpectString,我無法使用“sudo su -” sudo 到 root。 它期待“(用戶名)的[sudo]密碼:”而我只是提供“密碼:”

$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()

這就是我能夠 sudo 到 root 的方式。 同樣,根據您連接的 *nix 變體,它對您來說可能會有所不同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM