我們在遠端操作Linux主機時常常會使用各種Remote SSH工具,比如最常用的X Shell、MobaXterm。這些工具功能強大,但很多時候只是需要開個終端,Windows 10開始自帶的Windows Terminal就不錯。
Windows Terminal 是Window 10 以上系統自帶的工具,對選項卡、富文字等功能支援不錯,而且SSH連線時不限速,使用scp等命令時比MobaXterm的免費版更快。因此,選擇 Windows Terminal 作為日常SSH工具。以下是 Windows Terminal 中自定義 SSH 連線的配置過程。
使用密碼連線SSH
- 啟動
Windows Terminal
,點選Ctrl+,
快捷鍵開啟設定。
- 點選左下角的
開啟 JSON 檔案
按鈕,開啟設定JSON檔案 - 找到字典中的
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" }
- guid: 唯一識別符號,可使用 Online GUID / UUID Generator 生成
- hidden: 是否隱藏
- name: 標題名,會顯示在視窗上方
- commandline: SSH 命令列內容,格式如下:
ssh 使用者名稱@主機ip或域名 -p 埠號
- icon: 圖示檔案路徑,可選;可以將圖示檔案存在至配置檔案同一資料夾下,字首為
ms-appdata:///Local/
即可
配置完成後,即可在 Windows Terminal
中看到新的終端選項,點選並輸入密碼後即可連線至遠端 Linux 伺服器。
使用公鑰實現免密碼SSH
上述方式已經能夠實現遠端 SSH,但是每次登陸都需要輸入密碼,不太方便。因此,可以考慮透過像遠端伺服器提供本地SSH公鑰的方式實現免密碼登陸。操作如下:
- 開啟
Git-Bash
- 使用
ssh-keygen
命令生成公私鑰對- 回車後首先要求設定檔名稱,直接回車則使用預設的
id_rsa.pub
名稱 - 其後要求輸入密碼,可以為空
- 執行完成後會生成
*.pub
檔案
- 回車後首先要求設定檔名稱,直接回車則使用預設的
- 將公鑰最佳到伺服器中
- 將剛才生成的
*.pub
檔案複製到 Linux 伺服器的使用者目錄下 (~
) - 命令列中執行如下命令,將公鑰追加到當前使用者中。其中
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
- 將剛才生成的
配置完成後,即可免密碼登陸遠端伺服器。打完收工。
本文參考:
- windows terminal 連線遠端 ssh
- Windows Terminal 初探(二):怎麼配置新增自定義的 ssh 會話連線