Windows Terminal 自定義 SSH 連線

geoli91發表於2024-06-29

我們在遠端操作Linux主機時常常會使用各種Remote SSH工具,比如最常用的X Shell、MobaXterm。這些工具功能強大,但很多時候只是需要開個終端,Windows 10開始自帶的Windows Terminal就不錯。

Windows Terminal 是Window 10 以上系統自帶的工具,對選項卡、富文字等功能支援不錯,而且SSH連線時不限速,使用scp等命令時比MobaXterm的免費版更快。因此,選擇 Windows Terminal 作為日常SSH工具。以下是 Windows Terminal 中自定義 SSH 連線的配置過程。

使用密碼連線SSH

  1. 啟動 Windows Terminal,點選 Ctrl+,快捷鍵開啟設定。
    20230630140534
  2. 點選左下角的開啟 JSON 檔案按鈕,開啟設定JSON檔案
  3. 找到字典中的profiles項,在其list列表中新建一個如下的字典
     {
         "guid": "{bb1fddd2-750a-45f3-a852-7426b45a1007}",
         "hidden": false,
         "name": "CentOS",
         "commandline": "ssh root@anydomain.com -p anyport",
         "icon": "ms-appdata:///Local/centoslogo-32.png"
     }
    
    各引數含義如下:
    1. guid: 唯一識別符號,可使用 Online GUID / UUID Generator 生成
    2. hidden: 是否隱藏
    3. name: 標題名,會顯示在視窗上方
    4. commandline: SSH 命令列內容,格式如下:ssh 使用者名稱@主機ip或域名 -p 埠號
    5. icon: 圖示檔案路徑,可選;可以將圖示檔案存在至配置檔案同一資料夾下,字首為 ms-appdata:///Local/ 即可

配置完成後,即可在 Windows Terminal 中看到新的終端選項,點選並輸入密碼後即可連線至遠端 Linux 伺服器。

20230630142837

使用公鑰實現免密碼SSH

上述方式已經能夠實現遠端 SSH,但是每次登陸都需要輸入密碼,不太方便。因此,可以考慮透過像遠端伺服器提供本地SSH公鑰的方式實現免密碼登陸。操作如下:

  1. 開啟 Git-Bash
  2. 使用 ssh-keygen 命令生成公私鑰對
    1. 回車後首先要求設定檔名稱,直接回車則使用預設的 id_rsa.pub 名稱
    2. 其後要求輸入密碼,可以為空
    3. 執行完成後會生成 *.pub檔案
  3. 將公鑰最佳到伺服器中
    1. 將剛才生成的 *.pub 檔案複製到 Linux 伺服器的使用者目錄下 (~)
    2. 命令列中執行如下命令,將公鑰追加到當前使用者中。其中 id_rsa.pub 需換成對應的 *.pub
      cd ~
      mkdir .ssh && chmod 700 .ssh
      touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
      cat id_rsa.pub >> .ssh/authorized_keys
      rm id_rsa.pub
      

配置完成後,即可免密碼登陸遠端伺服器。打完收工。


本文參考:

  1. windows terminal 連線遠端 ssh
  2. Windows Terminal 初探(二):怎麼配置新增自定義的 ssh 會話連線

相關文章