2017-03-31 57 views
0

我來自本地機器,SSH到遠程機器,並sudo su管理員用戶。我不想退出SSH,我希望留在遠程機器上,所以我試過:如何在遠程機器上ssh +期望登錄和su到另一個用戶?

$cat 
#!/usr/bin/expect 
spawn "/usr/bin/ssh [email protected] -t \"/usr/bin/sudo su admin\"" 
expect "Password: " {send "mypassword\r"} 


$./myssh.exp 
spawn /usr/bin/ssh [email protected] -t "/usr/bin/sudo su admin" 
couldn't execute "/usr/bin/ssh [email protected] -t "/usr/bin/sudo su admin"": no such file or directory 
    while executing 
"spawn "/usr/bin/ssh [email protected] -t \"/usr/bin/sudo su admin\""" 
    (file "./myssh.exp" line 2) 

似乎我有語法錯誤。我試圖添加/刪除裏面的「\」和outisde我的spawn語句,都不起作用。如何解決它?

謝謝!

+0

使用〜(波浪號)符號,而不是 「\」 – shas

回答

2

應該是:

spawn /usr/bin/ssh -t [email protected] "/usr/bin/sudo su admin" 
expect "Password: " { send "mypassword\r" } 
interact 
相關問題