当前位置: 首页 > news >正文

macbook配置vscode连接腾讯云服务器

在SSH密钥认证体系中,公钥的复制方向是:将客户端(MacBook)的公钥复制到服务器(Ubuntu)。以下是关键原理和操作步骤的澄清:


🔑 SSH公钥认证原理

  1. 客户端(MacBook) 持有 私钥(如 id_rsa_tencent)。
  2. 服务器(Ubuntu) 保存 客户端的公钥(如 id_rsa_tencent.pub)在 ~/.ssh/authorized_keys 文件中。
  3. 连接时,客户端用私钥生成签名,服务器用公钥验证签名,从而确认客户端身份。

❌ 常见误解:是否需要服务器公钥?

  • 不需要将Ubuntu服务器的公钥复制到MacBook
    服务器的主机公钥会在第一次连接时自动缓存在MacBook的 ~/.ssh/known_hosts 文件中,用于验证服务器身份(防止中间人攻击)。这与用户身份认证的公钥无关。

✅ 正确操作步骤(再次确认)

1. 在MacBook生成密钥对(若未生成)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_tencent
  • 生成 私钥 id_rsa_tencent(保密!勿泄露!)
  • 生成 公钥 id_rsa_tencent.pub(需上传到服务器)
2. 将MacBook的公钥复制到Ubuntu服务器
  • 方法一:使用ssh-copy-id(推荐)

    ssh-copy-id -i ~/.ssh/id_rsa_tencent.pub username@your_server_ip

    输入服务器密码后,公钥会自动添加到 ~/.ssh/authorized_keys

  • 方法二:手动追加公钥

    cat ~/.ssh/id_rsa_tencent.pub | ssh username@your_server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
3. 验证服务器配置
# 登录服务器,检查authorized_keys内容
cat ~/.ssh/authorized_keys
# 应包含MacBook公钥内容(以ssh-rsa开头,your_email@example.com结尾)
4. 配置VSCode的SSH连接

在MacBook的 ~/.ssh/config 中添加:

Host tencent-ubuntu
HostName your_server_ip
User ubuntu
Port 22
IdentityFile ~/.ssh/id_rsa_tencent # 指定MacBook的私钥路径
IdentitiesOnly yes

🚨 常见问题排查

  • 连接时提示“Agent admitted failure to sign”
    确保SSH代理正在运行并加载了私钥:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa_tencent
  • 公钥已上传但仍要求密码
    检查服务器SSH配置:

    sudo vi /etc/ssh/sshd_config
    # 确保以下参数为yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    # 重启SSH服务
    sudo systemctl restart sshd

📝 总结

  • 公钥流向:MacBook的公钥 → Ubuntu服务器的 authorized_keys
  • 私钥保密:MacBook的私钥(id_rsa_tencent)仅保存在本地,不可泄露。
  • 主机验证:服务器公钥会自动缓存在MacBook的 known_hosts,无需手动操作。

按照此流程配置后,VSCode即可通过SSH密钥无缝连接腾讯云Ubuntu服务器。

相关文章:

  • springboot测试类原理
  • 掌握这些 Python 函数,让你的代码更简洁优雅
  • 《深度剖析:SCSS中混入(Mixin)为浏览器前缀赋能》
  • Photoshop矢量蒙版全教程
  • Spark核心概念与DAG执行原理笔记
  • 中国风系列简约淡雅通用PPT模版分享
  • Spring Boot 实训项目 - 图书信息网站
  • 鸿蒙Next仓颉语言开发实战教程:设置页面
  • 【系统设计【2】】粗略估算
  • @SpringBootTest 详解
  • langChainv0.3学习笔记(中级篇)
  • 基于PPSO与BP神经网络回归模型的特征选择实战(Python实现)
  • AndroidStudio下载的SDK没有tool目录,或者想要使用uiautomatorviewer工具
  • Java网络编程深度解析
  • 实战指南:部署MinerU多模态文档解析API与Dify深度集成(实现解析PDF/JPG/PNG)
  • 大模型<闲谈>
  • 以太网交换机交换表的建立
  • 234. 回文链表
  • AI驱动SEO关键词精准布局
  • Java微服务框架技术选型全景报告
  • 网站在线客服插件代码/北京今日重大新闻
  • 支付公司网站建设费账务处理/新冠疫情最新情况
  • 网站和ip建设/百度竞价托管哪家好
  • 重庆建网站多少钱/如何优化
  • 网站建设平台网站设计/衡阳seo优化首选
  • 铜陵建设行业培训学校网站/5118数据分析平台