溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用mac電腦自動登錄服務器

發(fā)布時間:2021-12-31 11:56:25 來源:億速云 閱讀:367 作者:柒染 欄目:云計算

這期內容當中小編將會給大家?guī)碛嘘P如何用mac電腦自動登錄服務器,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

mac 電腦自動登錄服務器

Iterm+expect 結合方式實現(xiàn)

expect 是一個自動化交互套件,主要應用于執(zhí)行命令和程序時,系統(tǒng)以交互形式要求輸入指定字符串,實現(xiàn)交互通信。它的自動交互流程如下:

spawn 啟動指定進程 ---> expect 獲取指定關鍵字 ---> send 向指定程序發(fā)送指定字符 ---> 執(zhí)行完成退出

接下來我們將利用 expect 來實現(xiàn) ssh 自動登錄。首先新建一個文件 /usr/local/bin/iterm2Login.sh,內容如下:

#!/usr/bin/expect

set timeout 30
set host [lindex $argv 0]
# 這一行是設置一個變量的意思,變量名隨便起,盡量有意義,后面表示的是傳入的參數(shù),0 表示第一個參數(shù),后面會用到。
set port [lindex $argv 1]
set user [lindex $argv 2]
set pswd [lindex $argv 3]

spawn ssh -p $port $user@$host 
# spawn 是 expect 環(huán)境的內部命令,它主要的功能是給 ssh 運行進程加個殼,用來傳遞交互指令。

expect {
        "(yes/no)?"
        {send "yes\n";exp_continue;}
       -re "(p|P)ass(word|wd):"
        {send "$pswd\n"}
}
# expect 也是 expect 環(huán)境的一個內部命令,用來判斷上一個指令輸入之后的得到輸出結果是否包含 "" 雙引號里的字符串,-re 表示通過正則來匹配。
# 如果是第一次登錄,會出現(xiàn) "yes/no" 的字符串,就發(fā)送(send)指令 "yes\r",然后繼續(xù)(exp_continue)。

interact
# interact:執(zhí)行完成后保持交互狀態(tài),把控制權交給控制臺。

argv 0, argv 1, argv 2, argv 3 三個參數(shù)依次為 ip、端口號、用戶名、密碼。

賦予腳本執(zhí)行權限:

$ sudo chmod +x /usr/local/bin/iterm2Login.sh

將 Profile 中的 Command 部分替換成通過上面的腳本來登錄:

如何用mac電腦自動登錄服務器

export LC_CTYPE=en_US;/usr/local/bin/iterm2Login.sh 172.16.2.84 22 root "1"

添加正則表達式

如何用mac電腦自動登錄服務器

Regular expression: Are you sure you want to continue connecting (yes/no)?
Action: Send Text
Parameters: yes\r
Instant: checked

如何用mac電腦自動登錄服務器

然后就可以自動登錄服務器了

使用 Zmodem 實現(xiàn)快速傳輸文件

服務器和 mac電腦上都需要安裝 lrzsz 軟件包

#centos && RHEL
yum -y install lrzsz
# Ubuntu && Debian
apt-get install lrzsz
# Mac os
brew install lrzsz
配置 iTerm2

在全球最大同性交友網站 Github 上,已經有人共享了一個叫 “ZModem integration for iTerm 2” 的項目。我們只需下載其相應腳本,并進行簡單配置就可以很容易的在 iTerm2上實現(xiàn)對 Zmodem 的支持。

項目地址:https://github.com/kuoruan/iterm2-zmodem[2]

  • 下載并安裝腳本

$ wget -qO /usr/local/bin/iterm2-zmodem.sh https://github.com/kuoruan/iterm2-zmodem/raw/master/iterm2-zmodem.sh
$ chmod +x /usr/local/bin/iterm2-zmodem.sh
  • 配置 iTerm2 上的觸發(fā)器

打開 iTerm2 ,點擊 PreferencesProfiles 選擇指定的 Profile。然后繼續(xù)選擇 AdvancedTriggers,并點擊 Edit 添加兩個觸發(fā)器。

按如下內容添加兩個觸發(fā)器,首先增加 sz 指令的觸發(fā)器:

Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-zmodem.sh send
Instant: checked

其次增加 rz 指令的觸發(fā)器:

Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-zmodem.sh recv
Instant: checked

成功增加完成后的效果,類似下圖:

如何用mac電腦自動登錄服務器

配置這兩個觸發(fā)器的作用就是讓 iTerm2 根據(jù)終端上顯示的字符通過指定的觸發(fā)器調用相應的發(fā)送和接收腳本。

上述就是小編為大家分享的如何用mac電腦自動登錄服務器了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI