Windows Terminal 自定义 SSH 连接

我们在远程操作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 会话连接
posted @ 2024-06-29 20:49  geoli91  阅读(882)  评论(0编辑  收藏  举报