Windows Terminal 远程SSH连接阿里云ECS配置

Windows 通过SSH远程连接阿里云ECS服务器,由于阿里云ECS上用的是密钥对进行连接,所以我们需要配置 Windows Terminal 引用密钥来进行SSH连接

设置 Windows Terminal

在 Windows Terminal 设置,打开 JSON 文件,找到 "list": 下在最后面追加我们自定义的配置项,下面是没有追加的默认的配置

        "list": 
        [
            {
                "colorScheme": "Campbell",
                "commandline": "powershell.exe",
                "font": 
                {
                    "size": 11
                },
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "hidden": false,
                "name": "Windows PowerShell"
            },
            {
                "colorScheme": "Campbell",
                "commandline": "cmd.exe",
                "font": 
                {
                    "size": 11
                },
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "hidden": false,
                "name": "\u547d\u4ee4\u63d0\u793a\u7b26"
            },
            {
                "font": 
                {
                    "size": 11
                },
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]

我们在 "list": 的方括号内的最后追加自己的配置

 			{
				"guid": "{94f54466-5a23-455f-a7d8-cbb495bb81bc}",
				"hidden": false,
				"name": "aly ECS",
				"commandline": "ssh -i D:/NextCloud/KeeWeb/aly-ECS-sgtfz-key.pem root@47.113.100.27",
				"closeOnExit": true
			}

上面自定义配置的说明:

  • "guid": "{guid}" 我们可以直接在 Windows Terminal 命令行输入 new-guid 即可生成。
  • "name": "aly ECS" 这里可以自定义自己喜欢的名称。
  • "commandline": 如上面的格式填上密钥的路径。

最后配置完成的配置文件如下:

        "list": 
        [
            {
                "colorScheme": "Campbell",
                "commandline": "powershell.exe",
                "font": 
                {
                    "size": 11
                },
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "hidden": false,
                "name": "Windows PowerShell"
            },
            {
                "colorScheme": "Campbell",
                "commandline": "cmd.exe",
                "font": 
                {
                    "size": 11
                },
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "hidden": false,
                "name": "\u547d\u4ee4\u63d0\u793a\u7b26"
            },
            {
                "font": 
                {
                    "size": 11
                },
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
			{
				"guid": "{94f54466-5a23-455f-a7d8-cbb495bb81bc}",
				"hidden": false,
				"name": "aly ECS",
				"commandline": "ssh -i D:/NextCloud/KeeWeb/aly-ECS-sgtfz-key.pem root@47.113.100.27",
				"closeOnExit": true
			}
        ]

现在我们尝试连接阿里云ECS服务器啦

Windows terminal

但是又出现了问题,Windows Terminal 提示如下:

Windows Terminal 警告密钥未受保护

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'D:/NextCloud/KeeWeb/aly-ECS-sgtfz-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "D:/NextCloud/KeeWeb/aly-ECS-sgtfz-key.pem": bad permissions

原因是由于密钥文件权限太开放,需要设置为仅对使用用户可见。

Windows 系统设置密钥文件权限

  • 密钥文件:keyfile.pem
    • 右键点击 → keyfile.pem → 属性 → 安全 → 高级 → 禁用集成 → 从此对象中删除所有已继承的权限 → 确定 → 是 → 确定
    • 右键点击 → keyfile.pem → 属性 → 安全 → 高级 → 添加 → 选择主体 → 高级 → 立即查找 → 从搜索结果找到当前用户 → 双击 当前用户 → 确定 → 确定

Windows Terminal 终于可以正常连接阿里云ECS了!

“Windows Terminal 远程SSH连接阿里云ECS配置”的9个回复

发表回复