2017-04-12 37 views
0

更改爲另一個用戶在一臺遠程機器,我需要在其中首先我登錄,用戶A在遠程計算機執行某些操作,然後切換到用戶B如何使用腳本

ssh [email protected] 
userA$ 'sudo su userB' 

用戶A類型的密碼更改爲用戶B。 以用戶B的身份執行其他操作

我想通過從本地機器向遠程機器運行腳本來實現此目的。

localUser$ ssh [email protected] 'bash -s' < script 

在腳本中,有些事情是這樣的:

#!/bin/bash 
sudo su userB 

.... 
perform other operations as userB 

在這一刻,當我運行此腳本,它要求用戶A的密碼先運行該腳本。然後要求userA切換到userB的密碼。但由於提示不會持續,我無法輸入任何內容。如何實現這一目標?

回答

0

但我不能輸入任何內容,因爲提示不會持續。如何實現這一目標?

你已經執導scriptssh命令的標準輸入這樣的腳本試圖讀什麼是script(但刷新剩下那裏之前,這是交互式閱讀的口令是明智之舉。

如果要自動交互操作,請使用expect腳本。如果你想使用上面的腳本,首先將其複製到服務器,然後運行它作爲

localUser$ ssh -t [email protected] "./script" 
0

而不是sudo su userB, 您可以使用sudo -S su - userB