2016-05-30 7 views
0

​​私のSSHサーバに接続するにはsu rootで始まるコマンドをいくつか実行しますが、私はsudofullyにユーザを切り替えることはできません。どうすればよいでしょうか?

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:\> 

どのように私のコマンドをrootとして実行できますか?

答えて

1

私が気づいたことは、posh-sshとubuntuで作業していたときに、私はExpectStringのためにsudo su - を使って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をすることができた方法でした。繰り返しますが、あなたが接続しようとしている* nixの亜種に応じて、あなたとは異なるかもしれません。

関連する問題