讲师中心 微信公众号
AI工具推荐 视频效率加速

VSCode远程开发免密_SSH Key公钥配置与权限设置

浅墨吖_3526

浅墨吖_3526

发布时间:2026-04-09 13:47:06

|

323人浏览过

|

来源于php中文网

原创

VSCode Remote-SSH 连不上服务器大概率是服务端 ~/.ssh 目录权限非 700、authorized_keys 文件权限非 600、主目录被 group/other 写入、公钥格式错误或 SSH 配置中 Host 别名含下划线、未指定 IdentityFile 等所致。

vscode远程开发免密_ssh key公钥配置与权限设置

VSCode 远程开发连不上服务器?大概率是 ~/.ssh/authorized_keys 权限不对,或者公钥没放对位置 —— 不是 VSCode 问题,是 OpenSSH 的硬性校验规则在拦你。

为什么 ssh -i 能连,但 VSCode Remote-SSH 连不上?

VSCode Remote-SSH 默认走系统 SSH 客户端,但它严格复用 OpenSSH 的服务端校验逻辑。哪怕你本地 ssh -i ~/.ssh/id_rsa user@host 成功,只要服务端 /home/user/.ssh/ 目录或 authorized_keys 权限过宽(比如目录是 755、文件是 644),sshd 就会静默拒绝密钥认证,日志里只留一句 Authentication refused: bad ownership or modes。

  • ~/.ssh 目录权限必须是 700(即 drwx------)
  • ~/.ssh/authorized_keys 文件权限必须是 600(即 -rw-------)
  • 用户主目录(~)不能是 group-writable 或 world-writable(即不能含 w 权限给 group/other)
  • 公钥内容必须**逐行粘贴**,不能多空行、不能带 Windows \r、不能混入注释行(除非以 # 开头且单独成行)

如何正确生成并部署公钥到远程服务器?

别用 GUI 工具导出“OpenSSH 格式”再手动改,容易丢格式。直接用命令行生成 + ssh-copy-id 推送最稳:

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载
  • 本地终端运行:ssh-keygen -t ed25519 -C "your_email@example.com"(推荐 ed25519,比 rsa 更快更安全)
  • 确认密钥保存路径(默认 ~/.ssh/id_ed25519),一路回车即可
  • 推送公钥:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host(自动处理权限和追加逻辑)
  • 如果 ssh-copy-id 不可用(如某些 Alpine 镜像),手动执行:
    cat ~/.ssh/id_ed25519.pub | ssh user@host "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

VSCode Remote-SSH 连接配置要注意什么?

配置文件 ~/.ssh/config 是关键,VSCode Remote-SSH 完全依赖它,不是靠 UI 表单填的那些字段:

  • 主机别名必须唯一,且不能含下划线(_)—— OpenSSH 不认,VSCode 会解析失败
  • 必须显式指定 IdentityFile,尤其当你有多个密钥时:
    Host myserver<br>  HostName 192.168.1.100<br>  User ubuntu<br>  IdentityFile ~/.ssh/id_ed25519
  • 如果服务器 SSH 端口不是 22,一定要加 Port 2222,漏了就会卡在 “Resolving host…”
  • 避免使用 ForwardAgent yes,除非真需要跳转代理;它可能触发额外权限检查,增加失败概率

调试连不上时,该看哪几条命令?

别只盯着 VSCode 输出面板。打开终端,用原生命令快速定位:

  • 检查服务端 SSH 日志:sudo tail -f /var/log/auth.log | grep 'sshd.*@host'(Ubuntu/Debian)或 sudo journalctl -u sshd -f(systemd 系统)
  • 验证密钥是否被读取:ssh -T -v user@host(看输出里有没有 debug1: Offering public key: ... 和 debug1: Server accepts key)
  • 确认权限是否合规:ls -ld ~ ~/.ssh ~/.ssh/authorized_keys,结果应类似:
    drwx------ 2 user user 4096 Jan 1 12:00 /home/user/.ssh<br>-rw------- 1 user user  392 Jan 1 12:00 /home/user/.ssh/authorized_keys
  • 检查 SELinux(仅 RHEL/CentOS):ls -Z ~/.ssh/authorized_keys,若 context 异常,运行 restorecon -Rv ~/.ssh

权限和路径细节错一点,OpenSSH 就直接拒之门外 —— 它不报错,只沉默。所以每次连不上,先跑一遍 ls -ld,比重装插件快十倍。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3359

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2918

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

1528

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2659

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3330

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1677

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

2517

2023.08.28

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

5207

2023.08.30

Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

0

2026.11.02

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn