本地连接DigitalOcean Droplet时遇私钥解锁密码提示问题咨询
解决VS Code SSH连接Droplet时需解锁私钥的问题
方法1:移除私钥的密码保护(安全前提下可选)
如果你的私钥设置了加密密码,每次连接都会触发解锁提示。若环境允许无密码私钥,可执行以下操作移除密码:
- 打开本地终端,运行命令:
ssh-keygen -p -f ~/.ssh/你的私钥文件名 - 按提示输入旧密码,随后直接回车跳过新密码设置,确认操作即可。
方法2:用ssh-agent自动管理私钥
让ssh-agent记住解锁后的私钥,避免重复输入密码:
- 启动ssh-agent:
- Linux/macOS:
eval "$(ssh-agent -s)" - Windows(PowerShell):
Start-Service ssh-agent
- Linux/macOS:
- 将私钥添加到ssh-agent:
ssh-add ~/.ssh/你的私钥文件名 - 验证添加状态:
输出中能看到私钥指纹即表示成功。ssh-add -l
方法3:配置VS Code的SSH文件
确保VS Code的SSH配置正确指向私钥,避免手动输入:
编辑~/.ssh/config文件,添加或修改Droplet的配置条目:
Host 自定义别名 HostName Droplet的IP地址 User 你的sudo用户名 IdentityFile ~/.ssh/你的私钥文件名 IdentitiesOnly yes
保存后重启VS Code的SSH连接,系统会自动调用指定私钥。
方法4:修正私钥权限(关键步骤)
私钥权限过宽会导致SSH拒绝自动使用,触发解锁提示:
- Linux/macOS:设置私钥权限为600:
chmod 600 ~/.ssh/你的私钥文件名 - Windows:右键私钥文件 → 属性 → 安全 → 高级 → 禁用继承 → 移除所有非当前用户的权限,仅保留当前用户的完全控制权限。
内容的提问来源于stack exchange,提问作者Chukwunazaekpere
相关产品推荐
相关产品推荐

