Assh 自動登入 SSH/SFTP 的小工具

yybawang發表於2019-01-19

自動登入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 協議》,轉載必須註明作者和本文連結

相關文章