一、使用 expect 登陸。
-
Iterm2 配置
-
配置 expct 腳本
#!/usr/bin/expect -f
set port 22
set user lzq
set host 192.168.178.101
set password 123456
set timeout 30
spawn ssh -p $port $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof
- 遇到的問題
Mac iterm2 使用expect後無法使用lrzsz 指令,上傳不報錯,文件也沒有
解決方法
二、使用公鑰免密登陸
- 生成祕鑰
ssh-keygen
上面這個命令會在用戶目錄. ssh 文件夾下創建公私鑰
cd ~/.ssh
ls
下創建兩個密鑰:
id_rsa (私鑰)
id_rsa.pub (公鑰)
- 將公鑰放到 服務器上
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
上面這條命令是寫到服務器上的 ssh 目錄下去了
cd ~/.ssh
vim authorized_keys
可以看到客戶端寫入到服務器的 id_rsa.pub (公鑰)內容。
3.測試免密登錄
客戶端通過 ssh 連接遠程服務器,就可以免密登錄了。
ssh [email protected]
- 配置 Iterm2