2016-06-23 56 views
-1

要求是對遠程機器執行ssh並執行sudo su - "wasadmin/user" -c "whoami" 以瞭解user1是否具有對遠程機器上特定應用程序用戶的sudo訪問權限。sshpass遠程命令和切換遠程機器上的用戶帳戶

我嘗試了以下。但是,在我的命令中缺少一些東西。請幫助我解決上述情況。

sshpass -p 'Password' ssh -o StrictHostKeyChecking=no [email protected]$iP \ 
    'echo "your password"|sudo -S su wasadmin -c "hostname"' 
+1

你根本無法將管道密碼輸入到sudo命令中。這將是一英里寬的安全問題。 – arkascha

+0

你可以在這種情況下做些什麼:使用'/ etc/sudoers'文件來「單獨列出」單個命令以供使用,而不必指定密碼。儘管如此,在選擇上仍然非常嚴格,這當然也是因爲安全問題。 – arkascha

+0

我有一個要求,以驗證在1500服務器上的Appuser的sudo訪問。所以,如果我手動它將需要很多時間。 –

回答

0

與所有常用的警告,即 - 即存儲明文密碼是一個可怕的解決方案,可以做到以下幾點: sshpass -p password sudo ...

機制ssh用來獲取鍵盤交互的密碼是完全與sudo所使用的一樣,sshpass同樣有效。