使用指令碼進行ssh登入伺服器(Linux新手之路)

2021-07-04 05:08:41 字數 1108 閱讀 3626

前面的部落格完成了乙個簡單的定時刪除日誌的指令碼,但由於現在又多台伺服器,需要在多台伺服器上執行刪除日誌操作的指令碼,有很多辦法,我想到的方法,乙個是,可以將指令碼部署到這些伺服器上,然後在每台伺服器上使用crontab來定時執行,但是如果伺服器太多的話,就比較繁瑣;還有乙個辦法就是通過指令碼去登入伺服器,執行指令碼,去完成操作,那怎樣才能用指令碼登入伺服器呢?

這裡主要要用到乙個linux的工具:expect,下面寫乙個簡單的例項來測試,命名為temp.sh

#!/usr/bin/expect 

set timeout 10

spawn ssh -p 6022 [email protected]

expect

}interact

然後用sh temp.sh,出現錯誤:spawn:command not found

通過查詢資料,原來expect用的不是bash,所以不能用sh,通過./來執行:./temp.sh

出現錯誤:沒有許可權操作,那就改一下檔案的許可權:chmod 744 temp.sh

然後再:./temp.sh

然後成功登陸,這裡先完成了一小步。

突然想起乙個小問題,如果沒有安裝expect工具的,可以這樣安裝:

yum install expect
也有可能遇到問題,我遇到了如下問題:

沒有找到公鑰,不能安裝

可以這樣安裝:

yum --nogpgcheck install expect
這樣就可以跳過公鑰,直接安裝,結果圖:

這樣就安裝成功了。(ps:需要清楚yum命令的,可以自己查一下)

通過以上的方式就可以實現通過指令碼進行ssh登入伺服器了。

SSH登入遠端伺服器的Shell指令碼

製作ssh登入遠端伺服器的shell指令碼 ubuntu環境需要安裝expect安裝包 sudo apt get install expect使用shell指令碼自動ssh登入遠端伺服器 login.sh usr bin expect f 設定ssh連線的使用者名稱 set user liuben ...

如何使用SSH登入遠端伺服器

預設配置 windows下有很多ssh工具。在這裡我是用的是命令列。使用ssh連線伺服器的命令如下 ssh 使用者名稱 ip位址 p 埠號 1如果連線成功的話會提示你輸入遠端伺服器的密碼。全部成功之後ssh就會顯示遠端伺服器的提示符,這時候就說明連線成功了。金鑰登入 每次登入sh都需要輸入密碼很麻煩...

Mac 使用SSH遠端登入伺服器

可以通過mac自帶的ssh工具遠端登入雲主機,首先需要確保mac允許使用遠端登入,具體操作就是 系統偏好設定 共享 勾選遠端登入,一般僅允許系統使用者就可以了。首先需要在終端下確認當前使用者目錄下是否有.ssh目錄。在終端下切換到當前使用者目錄使用 ls a。ssh目錄是隱藏的。需要使用這個命令來檢...