2017-06-29 43 views
-2

我想通過ssh登錄後在另一臺機器上運行一些命令。我有自動登錄使用expect。我不太瞭解bash和期望。請幫助我。 這裏是我採寫:在ssh登錄後在機器上執行命令

spawn ssh [email protected] 
expect "password:" { send "mypassword\n"} 
interact 
echo yes 
+2

強制性建議:使用公鑰認證來自動執行'ssh'登錄,而不是'expect'。 – chepner

+1

如果你想使用Expect,我建議你付出一些努力去實際學習它。 *然後*當你有**特定**問題時回到這裏。 –

回答

-1

如果你只是想在遠程服務器上執行一個命令,你可以用單引號發送命令,如:ssh [email protected] 'echo "yes"'

但是如果你想多個命令要運行,那麼最好使用telnet而不是ssh。

+0

Telnet不安全。如果您想執行多個命令,請使用一些自動化軟件,如Puppet或Ansible。 –