iterm2連接遠程服務器

已有服務器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

來給路徑添加可執行的權限
之後就可以正常進行連接了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章