第一步:在 Windows(你的电脑)生成密钥对

  1. 打开命令提示符 (cmd) 或 PowerShell。
  2. 输入以下命令并回车:

    Bash

    ssh-keygen -t rsa -b 4096
  3. 一路回车即可:

    • 当提示保存位置时:默认即可(直接回车)。
    • 当提示 Enter passphrase(输入密码短语)时:为了实现免密登录,请不要输入任何内容,直接回车。再次确认时也直接回车。

完成后,你的密钥会生成在默认目录(通常是 C:\Users\你的用户名\.ssh\),你会看到两个文件:

  • id_rsa私钥(类似于钥匙,千万不要发给别人)。
  • id_rsa.pub公钥(类似于锁,我们需要把它放到服务器上)。

第二步:将公钥上传到服务器

你需要把 id_rsa.pub 里面的内容复制到服务器的“授权列表”里。

方法 A:手动复制(最稳妥)

  1. 在 Windows 上获取公钥内容:

    在命令行输入以下命令查看内容,并复制出来的所有字符(以 ssh-rsa 开头的那一大串):

    PowerShell

    type %USERPROFILE%\.ssh\id_rsa.pub

    (如果是 PowerShell,请使用 cat ~/.ssh/id_rsa.pub)

  2. 登录到远程服务器:

    使用你之前的密码方式登录服务器:

    Bash

    ssh root@你的服务器IP
  3. 在服务器上粘贴公钥:

    在服务器终端依次执行以下命令:

    Bash

    # 1. 确保 .ssh 目录存在
    mkdir -p ~/.ssh
    
    # 2. 编辑或创建 authorized_keys 文件
    nano ~/.ssh/authorized_keys
    • 在编辑器中,粘贴你刚才在 Windows 上复制的公钥内容。
    • Ctrl + O 然后 Enter 保存。
    • Ctrl + X 退出。
  4. 设置权限(非常重要,否则会失败):

    在服务器上执行:

    Bash

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

第三步:验证并配置编辑器 (Trae/VS Code)

  1. 验证连接:

    回到 Windows 的命令行,尝试再次连接服务器:

    Bash

    ssh root@你的服务器IP

    如果不需要输入密码直接进去了,说明配置成功!

  2. 配置 SSH Config 文件(推荐):

    为了让 Trae 或 VS Code 更好地管理连接,建议配置 Config 文件。

    • 在 Windows 上,用文本编辑器打开 C:\Users\你的用户名\.ssh\config 文件(如果没有就新建一个)。
    • 填入以下内容:

Plaintext

```
Host my-ali-server             # 给服务器起个别名,比如 "阿里云"
    HostName 1.2.3.4           # 你的服务器公网 IP
    User root                  # 登录用户名
    IdentityFile ~/.ssh/id_rsa # 指定私钥路径
```