使用expect ssh遠端無互動管理伺服器

2021-08-19 16:15:47 字數 1968 閱讀 3407

背景:由於公司伺服器比較多,放長假的時候要全部關機,一台一台關機很費事,所以決定寫個指令碼控制,於是就想到了expect。

以下**經驗證完全達到了預期。

#!/usr/bin/expect -f

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "123456\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "123456\n"

expect eof

spawn ssh [email protected]

expect "*pass*"

send "admin123\n"

expect "*:~*"

send "sudo poweroff\n"

expect "*pass*"

send "admin123\n"

expect eof

有了這個指令碼之後,再多的伺服器也不在話下!

無重新整理取得遠端資料

重新整理技術經歷了大致幾個階段 一 在html檔案頭里增加乙個鍵,使該頁面在設定的時間後跳轉到指定的頁面 包括自身 例如 二 使用框架然後在js指令碼裡定時重新整理框架內容。三 是對第二種方式的一種變通。即將眾多框架中的乙個長寬設定為0,使其不可見,然後通過指令碼定時重新整理該隱藏框架內容,再將該框...

SSH使用私鑰無密碼登入遠端伺服器

ssh無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以debian為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh keygen t rsa...

c 無重新整理取得遠端資料

重新整理技術經歷了大致幾個階段 一 在html檔案頭里增加乙個鍵,使該頁面在設定的時間後跳轉到指定的頁面 包括自身 例如 二 使用框架然後在js指令碼裡定時重新整理框架內容。三 是對第二種方式的一種變通。即將眾多框架中的乙個長寬設定為0,使其不可見,然後通過指令碼定時重新整理該隱藏框架內容,再將該框...