已有服務器ip,用戶名和密碼
通過iterm2進行遠程連接
ssh [email protected]
root是你的用戶名,後面是ip地址
然後回車,之後會要求你輸入密碼;密碼輸入時,並不會顯示你的輸入內容,照常輸入完畢就行,然後回車就能連接上了
也可以通過ssh方式連接,但是本文不涉及這方面的了
每次連接都輸入這麼長,確實不太方便,也容易出錯
所以我們要想個辦法,怎麼把這個連接自動化
通過expect腳本的方式,編寫一個login.exp的腳本
mac生成文件的話,可以在當前文件夾下
touch login.exp
生成txt等文件也可以用此命令;
然後對文件進行編輯:
vi login.exp
這樣我們就可以在iterm2中對文件進行編輯
將下面的內容複製到login.exp中:
set timeout 30
spawn ssh [lindex $argv 0]@[lindex $argv 1]
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"password:"
{send "[lindex $argv 2]\n"}
}
interact
粘貼過去後,在英文輸入法的前提下,輸入 :,就是按shift+;兩個鍵
然後輸入wq,回車,文件就修改完畢並且保存完成了
接下來,我們將文件移動到能起作用的位置
mv ~/Desktop/login.exp /usr/local/bin
我是將在桌面上創建的login.exp 移動到了/usr/local/bin下
第一個是你文件所在的位置,第二個是你要移動到的位置,別弄反了
/usr/local/bin這個文件夾,應該是對應mac的環境變量$PATH,具體我沒研究
放到這裏,後面就可以正常使用了
然後command+o;
然後下次打開後,雙擊就可以進行連接
或者點擊下面的按鈕
也許會報錯,顯示 權限不足之類的,類似:
permission denied: /usr/local/bin/login.exp
這時,我們需要執行:
chmod -R a+x /usr/local/bin/login.exp
來給路徑添加可執行的權限
之後就可以正常進行連接了