<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>ServerCat on jkgtw&#39;s blog </title>
    <link>https://www.jkg.tw/tags/servercat/</link>
    <description>Recent content in ServerCat on jkgtw&#39;s blog </description>
    <image>
      <title>jkgtw&#39;s blog </title>
      <url>https://www.jkg.tw/apple-touch-icon.png</url>
      <link>https://www.jkg.tw/apple-touch-icon.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 12 Feb 2023 17:00:00 +0800</lastBuildDate>
    <atom:link href="https://www.jkg.tw/tags/servercat/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用 AppleScript 一次打開多個 SSH 連線</title>
      <link>https://www.jkg.tw/p3640/</link>
      <pubDate>Sun, 12 Feb 2023 17:00:00 +0800</pubDate>
      <guid>https://www.jkg.tw/p3640/</guid>
      <description>&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;之前會使用 &lt;a href=&#34;https://royalapps.com/ts/mac/features&#34;&gt;Royle TSX&lt;/a&gt; 或者 &lt;a href=&#34;https://apps.apple.com/tw/app/servercat-ssh-terminal/id1501532023&#34;&gt;ServerCat&lt;/a&gt; 來 SSH 連到伺服器上面管理&lt;/p&gt;
&lt;p&gt;不過後來感覺這些軟體都有點重，但其實是我用不到這麼多功能就是了 😭&lt;/p&gt;
&lt;p&gt;所以就改回 &lt;a href=&#34;https://iterm2.com&#34;&gt;iTerm&lt;/a&gt; 這種獨立輕巧的 app 上面來用了，最近還看到有人推薦使用 GPU 加速的 &lt;a href=&#34;https://wezfurlong.org/wezterm/&#34;&gt;WezTerm&lt;/a&gt; 又更讚啦！&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;不過用回這些終端 app 就少了一些我經常會用到的功能，其中一個就是快速打開某群組的多台伺服器&lt;/p&gt;
&lt;p&gt;像是我會依照不同的客戶機器來做群組分類，A 客戶的群組裡面有三台伺服器，B 客戶的群組裡面有五台伺服器之類的&lt;/p&gt;
&lt;p&gt;以前點兩下就能快速打開多個 tab 分別用不同 session 連上，就可以馬上在不同 tab 切換下開始工作&lt;/p&gt;
&lt;p&gt;現在用 WezTerm 就算配好 SSH Config，也要一台一台自己手動連，原本想這樣將就將就就算了，但我就懶&amp;hellip;&lt;/p&gt;
&lt;p&gt;所以還是爬爬網路其他人作法，發現可以寫個簡單的 AppleScript 的指令來快速完成此功能 😬&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;首先伺服器多的話都會寫個 SSH Config 來管理，先不分類把每一台伺服器都寫進去再說&lt;/p&gt;
&lt;p&gt;關於 SSH Config 的更多說明可以參考： &lt;a href=&#34;https://chusiang.gitbooks.io/working-on-gnu-linux/content/20.ssh_config.html&#34;&gt;https://chusiang.gitbooks.io/working-on-gnu-linux/content/20.ssh_config.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;我們下面弄個簡單範本，先新建一個檔案 ~/.ssh/config&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-tex&#34; data-lang=&#34;tex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# A1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Host            A1                   # 代號
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hostname        23.18.111.19         # IP or Domain name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Port            22                   # 指定埠口
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User            loltt                # 使用者名稱
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;identityfile    ~/.ssh/id&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;rsa&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;a      # 指定金鑰
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# A2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Host            A2                   # 代號
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hostname        19.18.11.35          # IP or Domain name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Port            9553                 # 指定埠口
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User            loltt                # 使用者名稱
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;identityfile    ~/.ssh/id&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;rsa&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;a      # 指定金鑰
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# A3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Host            A3                   # 代號
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hostname        39.38.51.51          # IP or Domain name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Port            8569                 # 指定埠口
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User            loltt                # 使用者名稱
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;identityfile    ~/.ssh/id&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;rsa&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;a      # 指定金鑰
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# B1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Host            B1                   # 代號
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hostname        1.8.11.25            # IP or Domain name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Port            22                   # 指定埠口
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User            cat33                # 使用者名稱
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;identityfile    ~/.ssh/id&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;rsa&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;b      # 指定金鑰
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# B2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Host            B2                   # 代號
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Hostname        10.83.21.95          # IP or Domain name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Port            22                   # 指定埠口
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;User            cat33                # 使用者名稱
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;identityfile    ~/.ssh/id&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;rsa&lt;span class=&#34;nb&#34;&gt;_&lt;/span&gt;b      # 指定金鑰
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;​&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
