iterm2儲存ssh密碼自動登入
前提:
- OS: macOS Big Sur 11.6
- ITerm2: 3.4.10
- CPU: x86架構
由于mac沒有xshell也沒有MobaXterm,找了個據說最好使的iTerm2。但是,iterm2不友善儲存遠端服務的會話,每次都要輸入ip和密碼登入。是以結合配置腳本來實作儲存ssh密碼功能。
一.建立ssh自動登陸腳本
1.1進入任意目錄下後建立登陸腳本
cd /xxx/xxx
touch login.sh
1.2編輯登陸腳本
vim login.sh
#!/usr/bin/expect
set timeout 30
spawn ssh -p [lindex $argv 0] [lindex $argv 1]@[lindex $argv 2]
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"password:"
{send "[lindex $argv 3]\n"}
}
interact
- $argv 0 代表調用腳本的第一個參數 端口号(22)
- $argv 1 代表調用腳本的第二個參數 遠端服務使用者名(root)
- $argv 2 代表調用腳本的第三個參數 遠端服務的ip (192.168.1.11)
- $argv 3 代表調用腳本的第四個參數 遠端服務的密碼
- 端口不需要輸入的時候,删除-p [lindex $argv 0],并将後面的參數index都跟着減一
1.3 給腳本增加可執行權限
sudo chmod 777 login.sh
二.配置profile
Preferences --> profiles --> General --> Command --> Login Shell --> Send text at start
/Users/mac/mylogin/login.sh 22 root 192.168.1.54 test123
注意:如果密碼中包含特殊字元需要輸入參數的時候轉義
#例:test$123 => test\$123
/Users/mac/mylogin/login.sh 22 root 192.168.1.54 test\$123
三.使用配置好的profile
在iTerm2界面使用快捷鍵 command + O ,選擇選擇編輯好的profile,就可以使用啦!