00380 VS Code 远程免密登录


步骤 1:在本地生成 SSH 密钥对

如果你本地(通常是 Windows)还没有 SSH 密钥,需要先生成一个。
打开你本地的终端(PowerShell、CMD 或你习惯使用的 WSL 终端),输入以下命令:

ssh-keygen -t ed25519 -C "vscode-remote"
  • 注意: 运行后系统会提示你选择保存路径,直接 回车 使用默认路径即可(通常在 C:\Users\你的用户名\.ssh\id_ed25519)。
  • 当提示输入 passphrase(密码短语)时,直接 连续回车 置空。这样才能真正实现免密。

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

你需要将本地刚刚生成的公钥 (id_ed25519.pub) 放到远程服务器的授权列表中。

如果你在 Windows PowerShell 下操作:
可以直接运行以下命令(将你的公钥内容追加到服务器上):

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh luyanfeng@xx.xx.xx.xx "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

如果你在 WSL 或 Linux 终端下操作:
你可以直接使用更便捷的专用命令:

ssh-copy-id -i ~/.ssh/id_ed25519.pub luyanfeng@xx.xx.xx.xx

(这一步会要求你最后一次输入远程服务器 luyanfeng 的密码进行确认)

步骤 3:更新 VS Code 的 SSH Config 文件

最后,告诉 VS Code 使用这个私钥去连接服务器。打开你问题中提到的 VS Code 远程配置,添加一行 IdentityFile 显式指向你的私钥文件:

Host luyanfeng-xx.xx.xx.xx
  HostName xx.xx.xx.xx
  User luyanfeng
  IdentityFile ~/.ssh/id_ed25519

(如果你的密钥生成在默认路径,VS Code 通常会自动寻找它,但显式写出 IdentityFile 可以避免很多路径识别错误。)


💡 常见排错:
完成上述配置后,再次在 VS Code 中点击连接,应该就可以直接进入而无需密码了。如果仍然要求输入密码,通常是服务器端的权限设置太严格。你可以 SSH 登入服务器并检查 ~/.ssh 目录的权限:

  • 远程 ~/.ssh 目录权限必须是 700 (chmod 700 ~/.ssh)
  • 远程 ~/.ssh/authorized_keys 文件权限必须是 600 (chmod 600 ~/.ssh/authorized_keys)

结语

第三百八十篇博文写完,开心!!!!

今天,也是充满希望的一天。


文章作者: LuYF-Lemon-love
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuYF-Lemon-love !
  目录