自動登入ssh指令碼,使用 expect ,最佳化操作和加入配置檔案
只限制 linux 機器使用
習慣了 laradock 和 laravel 的開發,終於忍受不了 win10 開發中的各種小問題,已經全部切換成了Linux 的 Elementary OS 發行版
linux 系統在開發中連線 ssh 很不方便,沒有像 windows 有趁手的客戶端,但系統自帶的終端很得我心,所以寫了這個指令碼可以繼承原生終端的優點,又可以自動連線伺服器
第一步,需先安裝 expect
sudo apt install -y expect
centos/redhat 系列需先安裝
sudo yum instal -y expect
其他發行版自行使用包管理安裝
expect
包
第二步,配置伺服器連線資訊
配置檔案位於專案目錄/ssh_hosts.conf,裡面有註釋說明以及配置格式
第三步,執行指令碼選擇伺服器進行連線
cd 此專案目錄
./assh.sh
# 輸入序號進行連線(直接回車預設0)
# 如無執行許可權,請先 chmod +x run.sh expect.sh
第四部,配置alias,簡化操作
vi ~/.bashrc
# 最後一行加入
alias assh='/此專案絕對路徑/assh.sh'
# 示例
# alias assh='/var/www/assh/assh.sh'
# alias asftp='/var/www/assh/asftp.sh'
# 即時生效
source ~/.bashrc
Features
- 最佳化超時,每60秒傳送ping包,避免終端假死
- 相容密碼和私鑰登入,自行配置
- 使用原生ssh命令,非程式語言介面封裝,所以你用的終端是什麼樣,連線後的操作也是什麼樣。(比如繼承ctrl+c/v)
github
https://github.com/yybawang/assh
本作品採用《CC 協議》,轉載必須註明作者和本文連結