使用 AppleScript 一次打開多個 SSH 連線

​ 之前會使用 Royle TSX 或者 ServerCat 來 SSH 連到伺服器上面管理 不過後來感覺這些軟體都有點重,但其實是我用不到這麼多功能就是了 😭 所以就改回 iTerm 這種獨立輕巧的 app 上面來用了,最近還看到有人推薦使用 GPU 加速的 WezTerm 又更讚啦! ​ 不過用回這些終端 app 就少了一些我經常會用到的功能,其中一個就是快速打開某群組的多台伺服器 像是我會依照不同的客戶機器來做群組分類,A 客戶的群組裡面有三台伺服器,B 客戶的群組裡面有五台伺服器之類的 以前點兩下就能快速打開多個 tab 分別用不同 session 連上,就可以馬上在不同 tab 切換下開始工作 現在用 WezTerm 就算配好 SSH Config,也要一台一台自己手動連,原本想這樣將就將就就算了,但我就懶… 所以還是爬爬網路其他人作法,發現可以寫個簡單的 AppleScript 的指令來快速完成此功能 😬 ​ 首先伺服器多的話都會寫個 SSH Config 來管理,先不分類把每一台伺服器都寫進去再說 關於 SSH Config 的更多說明可以參考: https://chusiang.gitbooks.io/working-on-gnu-linux/content/20.ssh_config.html 我們下面弄個簡單範本,先新建一個檔案 ~/.ssh/config # A1 Host A1 # 代號 Hostname 23.18.111.19 # IP or Domain name Port 22 # 指定埠口 User loltt # 使用者名稱 identityfile ~/.ssh/id_rsa_a # 指定金鑰 # A2 Host A2 # 代號 Hostname 19.18.11.35 # IP or Domain name Port 9553 # 指定埠口 User loltt # 使用者名稱 identityfile ~/.ssh/id_rsa_a # 指定金鑰 # A3 Host A3 # 代號 Hostname 39.38.51.51 # IP or Domain name Port 8569 # 指定埠口 User loltt # 使用者名稱 identityfile ~/.ssh/id_rsa_a # 指定金鑰 # B1 Host B1 # 代號 Hostname 1.8.11.25 # IP or Domain name Port 22 # 指定埠口 User cat33 # 使用者名稱 identityfile ~/.ssh/id_rsa_b # 指定金鑰 # B2 Host B2 # 代號 Hostname 10.83.21.95 # IP or Domain name Port 22 # 指定埠口 User cat33 # 使用者名稱 identityfile ~/.ssh/id_rsa_b # 指定金鑰 ​ ...

February 12, 2023 · 2 min · jkgtw