【问题标题】:how to "sudo root" with posh-ssh (powershell)如何使用 posh-ssh (powershell) “sudo root”
【发布时间】:2016-05-30 08:29:16
【问题描述】:

我正在使用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 身份运行我的命令?

【问题讨论】:

    标签: powershell ssh posh-ssh


    【解决方案1】:

    我在使用 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 变体,它可能会有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 2019-06-04
      相关资源
      最近更新 更多