2013-03-16 63 views
-1

我已經創建瞭如下所示的shell腳本。此腳本將以普通用戶身份登錄到遠程服務器,然後切換到root用戶以創建目錄。腳本如下所示。正在運行shell腳本,希望登錄

的ssh -t [email protected]
蘇根-c 」
回聲\「 給目錄名:\ 」;
閱讀目錄;
的mkdir \ $目錄;
「;

這裏的腳本會詢問密碼爲普通用戶first.Then再次它會詢問根Password.How我可以自動執行此使用expect command.I要爲root用戶自動提供密碼只有我認爲這可以用expect完成。

請幫幫我。

+0

你說的·我想爲root用戶自動提供密碼,僅*是什麼意思?你爲什麼不直接使用ssh root @ 10.3.2.0'? 'root'不允許SSH? – pynexj 2013-03-19 02:57:57

+0

在這種情況下,通過編輯遠程機器上的'/ etc/ssh/sshd_config'文件(通過在/ etc/ssh/sshd_config中爲PermitRootLogin放置「no」可以在指定的計算機上通過ssh禁用根登錄) – user103134 2013-03-19 06:32:07

+0

然後,您可以考慮爲用戶* qbadmin *配置無密碼SSH登錄。 – pynexj 2013-03-19 06:44:28

回答

0

爲什麼不用sudo代替?你可以簡單地在遠程/etc/sudoers文件中添加「qbadmin」:

qbadmin ALL=(ALL:ALL) ALL 

然後:

ssh -t [email protected] ' 
echo \"Give Directory name :\"; 
read dir; 
sudo mkdir \$dir; 
' 
+0

在這裏我需要''su'root''使用'expect'自動提供密碼 – user103134 2013-03-16 06:05:07