Loading

VSCode SSH免密码设置指南

在 VSCode 中设置 SSH 免输密码登录,主要分为以下步骤:

1. 生成 SSH 密钥对

在本地机器上打开终端(Windows 用户可以使用 Git Bash、PowerShell 或 Windows Subsystem for Linux,Linux/Mac 用户使用终端),运行以下命令来生成 RSA 密钥对:

ssh-keygen -t rsa -C "your_email@example.com"
  • -t rsa:指定生成 RSA 类型的密钥对。
  • -C "your_email@example.com":为密钥添加注释,通常是你的邮箱地址,方便识别。

系统会提示你选择存储私钥的位置,默认存储在 ~/.ssh/id_rsa,直接按 Enter 使用默认路径即可。

接下来,系统会询问你是否为私钥设置密码短语,可以选择设置以增加安全性。如果不需要,直接按 Enter 跳过。

完成后,你会在终端看到类似以下的输出,表示密钥已经成功生成:

Your identification has been saved in /home/your_user/.ssh/id_rsa.
Your public key has been saved in /home/your_user/.ssh/id_rsa.pub.

2. 将公钥上传到远程服务器

使用 ssh-copy-id 命令

执行以下命令,将你的公钥复制到服务器(-p 参数指定端口号,默认为 22):

ssh-copy-id -p 22 root@xxxx.com

首次运行 ssh-copy-id 时,需要输入服务器的密码来完成公钥的传输:

root@xxxx.com's password:

输入密码后,ssh-copy-id 会将公钥上传到服务器的 ~/.ssh/authorized_keys 文件中。如果成功,你会看到类似以下输出:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p 12803 root@xxxx.com"
and check to make sure that only the key(s) you wanted were added.

手动上传公钥(如果 ssh-copy-id 不可用)

如果 ssh-copy-id 命令不可用,你可以手动将公钥复制到服务器。

  1. 显示本地公钥内容:查看你的公钥内容:

    cat ~/.ssh/id_rsa.pub
    

    将输出的内容复制下来。

  2. 连接服务器并手动粘贴公钥:登录到远程服务器,并将公钥粘贴到 ~/.ssh/authorized_keys 文件中:

    ssh -p 12803 root@xxxx.com
    

    进入服务器后,执行以下命令:

    mkdir -p ~/.ssh
    echo "your_public_key_contents" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
    

    替换 your_public_key_contents 为你复制的公钥内容。

3. 配置 VSCode

安装 Remote-SSH 插件

在 VSCode 中安装 Remote-SSH 插件。

添加 SSH 配置

  1. 点击 VSCode 左侧栏中的 Remote Explorer 图标(通常是一个计算机图标),然后在顶部找到 Remote-SSH 的部分。
  2. 点击右上角的 “+” 按钮,输入完整的 SSH 命令,按回车键确认添加。

选择配置文件并更新 config 文件

  1. 选择 config 文件:在你添加 SSH 命令后,VSCode 会询问你保存 SSH 配置的文件位置。

  2. 编辑 config 文件:选择本地用户目录的 ~/.ssh/config 文件,用于存储 SSH 连接的配置信息。VSCode 会自动打开并编辑 ~/.ssh/config 文件。确保该文件格式正确,并添加如下配置:

    Host myserver
        HostName xxxx.com
        User root
        Port 12803
        IdentityFile ~/.ssh/id_rsa
    
    • Host myserver:自定义的名称,你可以用它在后续的 Remote-SSH 界面中快捷选择服务器。
    • HostName:服务器的 IP 地址或域名。
    • User:远程服务器的用户名。
    • Port:SSH 连接的端口号。
    • IdentityFile:本地私钥文件路径,确保你已经生成了密钥对并进行了免密登录配置。

连接服务器

完成 SSH 配置后,你可以通过 Remote-SSH 插件直接连接到服务器。如果按照之前的教程设置了 SSH 免密登录(将公钥上传到服务器),这时连接时将不需要输入密码。

posted @ 2025-04-26 12:38  mscc  阅读(1718)  评论(0)    收藏  举报