天天看點

遠端重新開機linux主機的幾種方法

方法一,在終端上利用ssh,不登入遠端主機,直接發送重新開機指令

ssh [email protected] \'reboot\'      

方法二,在終端上利用ssh和here document

ssh [email protected] bash <<EOF
reboot
EOF      

這種方式在reboot的位置其實可以執行多條其他的指令,說到這兒,還有一種有意思的用法

ssh [email protected] bash < test.sh      

這樣可以在遠端主機上執行本地寫好的一個腳本檔案

方法三,通過expect腳本自動執行,以下是我寫的一個expect腳本,test.expect

#!/usr/bin/expect

set RHOST [lindex $argv 0]
set PASSWORD [lindex $argv 1]
set timeout 30

spawn ssh root@$RHOST \'reboot\'

expect {
        "yes/no" {send "yes\r";exp_continue}
        "password" {send "$PASSWORD\r"}
        timeout {exit 1}
}
expect eof
exit 0      

調用時,參數為遠端主機IP和密碼,如 expect test.expect 192.168.8.128 123

至于echo+sleep+|的方式,作為一個菜鳥,後面有時間再研究下

 附:在linux系統上重新開機遠端windows系統

net rpc shutdown -r -f -I 192.168.8.156 -U administrator%123