
不知道大家都如何管理 SSH 連線?古早時代在 Windows 上大家大多使用 putty 吧?我後來有使用過 pietty,後來付費使用 Xshell,現在 Xshell 8 已經個人用戶免費使用,也是我的主力管理工具。那在 Linux 系統上呢?坦白說我就沒有使用過管理工具,都是設定 .ssh/config 自己整理每一筆常用的連線。這次可以推薦大家使用 LazySSH 的連線管理工具,Windows 和 Linux 都可以使用,主要功能就是有圖形化管理介面的讓大家可以快速設定 .ssh/config 檔案,然後直接讀取這些 config 裡面的主機,Enter 之後就能夠快速連線!

快速地開啟畫面,快到我都沒有看過

圖形化管理介面,這還真的是頗方便的,不過我自己覺得在 Windows 上的管理工具很多,LazySSH 或許不是首選,不過在 Linux 上還是算方便的,至少對不習慣自己編輯 config 檔案的人來說。不過在編輯上有點要注意的,我目前測試在編輯頁面刪除符號會變成 TAB 切換,所以要用 del 來達成刪除的功能,除此之外都沒什麼問題。

此外編輯功能內還增加了比較少會用到的功能,譬如說 Connection、Forwarding、Authentication 與 Advanced,裡面就是一 些比較不常用到的設定,都可以透過 LazySSH 方便做設定,這點我覺得是很方便的地方。

當主機比較多的時候,可以快使用 / 來做快速的搜尋,符合 vim 的使用習慣,這也是貼心的設計吧!
以下是官方所描述的情境與用途,列給大家參考囉!
這個專案要解決哪些問題?
- SSH 設定檔管理困難:手動編輯
~/.ssh/config既繁瑣又容易出錯 - 記憶負擔沉重:需要記住大量的 IP 位址、使用者名稱和連接埠
- 缺乏視覺化介面:傳統 SSH 工具缺乏友善的使用者介面
- 伺服器狀態不明確:無法快速檢查伺服器是否可連線
- 連線歷史追蹤缺失:無法記錄和追蹤 SSH 連線使用情況
- 批次操作不便:難以對多個伺服器進行統一管理
- 搜尋功能不足:在大量伺服器中查找特定目標耗時費力
適合哪些使用者?
- DevOps 工程師:需要管理多個環境和大量伺服器的專業人員
- 系統管理員:負責維護企業內部或雲端基礎設施的技術人員
- 後端開發者:經常需要連線到開發、測試、生產環境的軟體開發人員
- 雲端架構師:管理複雜雲端基礎設施和多雲環境的專家
- 資安工程師:需要快速存取各種系統進行安全檢查和監控
- 技術顧問:服務多個客戶,需要管理不同專案伺服器的顧問
- 學生和研究人員:學習系統管理或進行技術研究的學術人員
使用情境與案例
- 多環境部署管理:在開發、測試、預生產、生產環境間快速切換
- 雲端資源維護:管理 AWS、GCP、Azure 等雲端平台上的虛擬機器
- 容器化環境除錯:連線到 Kubernetes 叢集節點進行故障排除
- 資料庫維護作業:快速連線到不同的資料庫伺服器執行維護任務
- 日誌分析和監控:登入各個伺服器查看系統日誌和效能指標
- 自動化腳本部署:透過 SSH 在多個伺服器上執行部署和配置腳本
- 安全稽核檢查:定期連線到系統進行安全性檢查和合規稽核
- 備份和恢復作業:管理分散在不同伺服器上的備份系統
使用了哪些技術?
- 程式語言:Go 1.24.6 - 高效能的系統程式語言
- 終端介面套件:tview 和 tcell - 提供豐富的文字使用者介面功能
- 剪貼簿整合:atotto/clipboard - 支援跨平台剪貼簿操作
- 文字處理:mattn/go-runewidth - 處理多語言文字顯示寬度
- 命令列介面:spf13/cobra - 強大的 CLI 應用程式框架
- 日誌系統:go.uber.org/zap - 高效能結構化日誌套件
- 建置工具:GoReleaser - 自動化跨平台建置和發布流程
- 代碼品質工具:golangci-lint - 整合多種靜態分析工具
- 版本控制整合:Git 標籤驅動的自動化發布流程
https://github.com/adembc/lazyssh