VS Code 远程开发:免密登录与共享文件夹失效解决指南
在 Windows 环境下使用 VS Code 进行 Linux 远程开发时,最常遇到两个痛点:频繁输入密码和虚拟机共享文件夹(hgfs)不显示。本文提供一站式解决方案。
一、 SSH 免密登录配置
通过密钥对验证代替密码输入,提升安全与效率。
1. 本地生成密钥对
在 Windows 终端执行:
ssh-keygen -t rsa -b 4096
一路回车(不要设置 passphrase),密钥将保存在 ~/.ssh/ 目录下。
2. 部署公钥至服务器
将本地 id_rsa.pub 的内容复制,追加到服务器的 ~/.ssh/authorized_keys 文件中。
关键步骤:权限修复(在服务器执行):
bash
chmod 700 ~/.ssh # 仅所有者可读写执行
chmod 600 ~/.ssh/authorized_keys # 仅所有者可读写
若权限过大,SSH 服务会出于安全原因强制回退至密码登录。
3. VS Code 指定私钥
修改 config 文件(F1 -> SSH: Open SSH Configuration File...):
text
Host my_server
HostName 172.16.40.193
User dgliu
IdentityFile "C:\Users\YourName\.ssh\id_rsa"
二、 修复 VMware 共享文件夹不显示
当虚拟机设置已启用共享,但 /mnt/hgfs 为空时,是因为系统未挂载驱动。
1. 确认共享状态
执行 vmware-hgfsclient。若看到共享文件夹名称(如 1),说明硬件链路正常。
2. 手动挂载(立即生效)
使用 fuse 模块手动挂载并授权普通用户访问:
bash
sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
3. 配置自动挂载(永久生效)
编辑 /etc/fstab 文件:
sudo nano /etc/fstab
在末尾添加:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0