" name="sm-site-verification"/>

目 录CONTENT

文章目录

VsCode SSH

PySuper
2025-10-26 / 0 评论 / 0 点赞 / 2 阅读 / 0 字
温馨提示:
所有牛逼的人都有一段苦逼的岁月。 但是你只要像SB一样去坚持,终将牛逼!!! ✊✊✊

在 VS Code 中配置 SSH 远程免密码连接,本质是通过 SSH 密钥对实现客户端与服务器的身份认证,无需输入密码。以下是详细步骤:

前提条件

  1. 本地电脑已安装 VS CodeRemote - SSH 扩展(在 VS Code 扩展商店搜索并安装)。

  2. 远程服务器已开启 SSH 服务(通常默认开启,可通过 systemctl status sshd 检查)。

  3. 本地电脑和远程服务器均支持 ssh-keygenssh-copy-id 工具(Linux/macOS 自带,Windows 需通过 WSL 或 Git Bash 运行)。

步骤 1:生成 SSH 密钥对(本地操作)

  1. 打开本地终端(Linux/macOS 用自带终端,Windows 用 WSL 或 Git Bash)。

  2. 输入以下命令生成密钥对(一路回车,默认路径和空密码即可):

ssh-keygen -t ed25519  # 推荐使用 ed25519 算法,更安全
# 若服务器不支持 ed25519,可改用 rsa:ssh-keygen -t rsa -b 4096

生成后,密钥对默认存放在:

  • Linux/macOS:~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)。

  • Windows(WSL):/home/用户名/.ssh/C:\Users\用户名\.ssh\(取决于终端环境)。

步骤 2:将公钥上传到远程服务器

方法 1:使用 ssh-copy-id(推荐,简单快捷)

在本地终端执行:

ssh-copy-id 用户名@远程服务器IP  # 例如:ssh-copy-id ubuntu@192.168.1.100
  • 首次连接需输入远程服务器的密码,验证通过后,公钥会自动添加到服务器的 ~/.ssh/authorized_keys 文件中。

方法 2:手动上传公钥(若 ssh-copy-id 不可用)

  1. 查看本地公钥内容:

cat ~/.ssh/id_ed25519.pub

复制输出的完整公钥字符串(以 ssh-ed25519 开头,以本地用户名@主机名结尾)。

  1. 登录远程服务器(需输入密码):

ssh 用户名@远程服务器IP
  1. 在远程服务器上,确保 .ssh 目录和 authorized_keys 文件存在(无则创建):

# 确保目录权限正确
mkdir -p ~/.ssh && chmod 700 ~/.ssh

# 确保文件权限正确
touch ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys
  1. 编辑 authorized_keys 文件,将本地公钥粘贴进去并保存:

# 粘贴后按 Ctrl+O 保存,Ctrl+X 退出
nano ~/.ssh/authorized_keys
  1. 退出远程服务器:

exit

步骤 3:测试免密码 SSH 连接(本地终端)

在本地终端执行:

ssh 用户名@远程服务器IP

若无需输入密码即可登录,说明密钥认证配置成功。

步骤 4:在 VS Code 中配置免密码连接

  1. 打开 VS Code,点击左侧菜单栏的 远程资源管理器(图标类似 <>)。

  2. 在远程资源管理器的下拉菜单中选择 SSH Targets

  3. 点击右上角的 设置图标(齿轮),选择 Open SSH Configuration File,打开本地的 SSH 配置文件(通常路径为 ~/.ssh/config)。

  4. 在配置文件中添加远程服务器信息(若已有则修改):

Host 服务器别名  # 自定义名称,如 myserver
  HostName 远程服务器IP或域名  # 例如 192.168.1.100
  User 远程服务器用户名  # 例如 ubuntu
  IdentityFile ~/.ssh/id_ed25519  # 本地私钥路径(步骤1生成的)
  Prot 1234 默认是22端口,如果不是,可以自定义

保存配置文件。

  1. 此时在 VS Code 的 SSH Targets 列表中会出现配置的 服务器别名,右键选择 Connect to Host in Current Window,即可免密码连接远程服务器。

常见问题排查

  1. 权限问题:远程服务器的 ~/.ssh 目录权限必须为 700authorized_keys 文件权限必须为 600,否则密钥认证会失败。

  2. 私钥路径错误:确保 VS Code 配置文件中 IdentityFile 指向本地私钥的正确路径。

  3. 服务器 SSH 配置:若仍需密码,检查服务器 /etc/ssh/sshd_config 文件是否开启密钥认证:

PubkeyAuthentication yes  # 确保为 yes
AuthorizedKeysFile .ssh/authorized_keys  # 确保路径正确

修改后重启 SSH 服务:sudo systemctl restart sshd

完成以上步骤后,VS Code 即可通过 SSH 免密码连接远程服务器,提升开发效率。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区