通常情況下,iTerm2訪問遠程Linux使用ssh,與Termial基本一樣,方法如下:
ssh <用戶名>@<ip>
然后輸入訪問的密碼即可。當然還有的時候需要指定訪問端口。
ssh -p <端口號> <用戶名>@<ip地址>
如果在iTerm2下的操作與termial一樣,我還用它干甚?
當然iTerm2有它特有的功能,這里使用它的是Profiles這個功能。
我們將遠程訪問的相關內容寫成一個腳本,然后在Profile里調用即可。
$ cd /Users/changbingbing/nonobank/ssh/
$ touch filename
腳本內容如下:
#!/usr/bin/expect -f set user <用戶名> set host <ip地址> set password <密碼> set timeout -1 spawn ssh $user@$host expect "*assword:*" send "$password\r" interact expect eof
接下來,就是如何調用這個腳本了.
使用命令:
expect <保存的腳本完整路徑>
保存即可。
接下來就是如何使用了。使用方法也很簡單,打開iTerm2后,選擇菜單Profiles下自定的profiles即可。
符:通過SSH和密鑰文件(.pem格式)登錄服務器[可能是堡壘機]
首先修改下密鑰文件權限:
sudo chmod 600 /Users/changbingbing/Downloads/changbingbing.pem
其次,終端可直接命令連接:
ssh -i /Users/changbingbing/Downloads/changbingbing.pem changbingbing@X.X.X.X
注:首次連接時,會彈出密鑰文件密碼輸入框,可以輸入並保存!
除了直接命令連接外,也可參考上面Profiles功能,配置好,直接在Profile里調用!簡單腳本如下:
#!/usr/bin/expect -f set user <用戶名> set host <ip地址> set empath <密鑰文件路徑> set timeout -1 spawn ssh -i $empath $user@$host interact expect eof