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

Mac 连接火山引擎 ECS:SSH 密钥配置与文件互传完整教程

适用环境:macOS + 火山引擎(Volcengine)云服务器(Ubuntu 等 Linux 镜像)
本文使用示例 IP、主机名与密钥名称,请替换为你自己的信息。


写在前面

云服务器默认不让你随便登录,常见做法是SSH + 密钥对
你在 Mac 上保管私钥,服务器上只存公钥。配对成功之后,可以:

  • 终端远程登录服务器
  • scp/rsync传文件
  • 用 Cyberduck 等工具图形化拖拽上传下载
  • 用 Cursor / VS Code 的 Remote-SSH 远程写代码

下面以「Mac 生成密钥 → 控制台导入公钥 → 绑定实例 → 本机配置 → 传文件」为主线,走一遍完整流程。


一、先分清几个概念

名词在哪能不能给别人
私钥Mac 的~/.ssh/id_ed25519❌ 绝对不能
公钥Mac 的~/.ssh/id_ed25519.pub✅ 可以上传到云平台
authorized_keys服务器~/.ssh/authorized_keys系统自动维护,一般不用手改
密钥对(控制台)火山引擎「密钥对」页面绑定后会把公钥注入实例

常见误区:在服务器上找「本机公钥文件」——不对。正确做法是:在本机复制公钥,交给云平台或写入服务器 authorized_keys


二、Mac 上生成 SSH 密钥

打开终端(Terminal),执行:

ssh-keygen-ted25519-C"your-comment"
  • 提示保存路径时直接回车,默认~/.ssh/id_ed25519
  • passphrase 可留空(个人学习机)或设置密码(更安全)

查看公钥(后面要复制整一行):

cat~/.ssh/id_ed25519.pub

输出类似:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA... your-comment

若你已有密钥且不想覆盖,可换文件名,例如-f ~/.ssh/cloud_ed25519,后文IdentityFile改成对应路径即可。


三、火山引擎控制台:导入公钥并绑定实例

3.1 创建密钥对(导入公钥)

  1. 登录 火山引擎控制台
  2. 进入云服务器 ECS密钥对
  3. 点击创建密钥对
  4. 选择导入公钥(不要选「自动创建」除非你打算下载.pem并妥善保管)
  5. 名称填一个好记的,例如mac-laptop-key
  6. 公钥内容粘贴上一步id_ed25519.pub完整一行
  7. 确认创建

3.2 绑定到目标实例

  1. 进入实例列表,找到你的 ECS
  2. 更多操作 →绑定密钥对(或实例详情里「密钥对」相关入口)
  3. 选择刚创建的mac-laptop-key
  4. 按控制台提示重启实例(很多厂商绑定后必须重启才生效)

3.3 确认安全组放行 SSH

  1. 实例 →安全组入方向规则
  2. 确保有TCP 22端口放行(来源可以是你的办公 IP,学习阶段也可能是0.0.0.0/0,生产环境请收紧)

3.4 确认登录用户名

不同镜像默认用户不同,常见:

镜像默认 SSH 用户
Ubuntuubuntu
CentOSrootcentos
Debianadmindebian

不确定时看控制台远程连接说明或镜像文档。


四、本机测试 22 端口是否可达

<公网IP>换成实例详情里的弹性公网 IP(示例用文档保留地址,勿当真):

nc-zv-w5203.0.113.1022

看到succeeded表示网络与安全组层面22 端口通;还不代表密钥已配对成功。


五、配置~/.ssh/config(强烈推荐)

编辑(没有就新建)~/.ssh/config

Host my-cloud-server HostName 203.0.113.10 User ubuntu IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes

说明:

  • Host:本机别名,随便起名,例如volc-prodblog-server
  • HostName公网 IP或域名
  • User:上一步确认的登录用户
  • IdentityFile:私钥路径
  • IdentitiesOnly yes:只用指定密钥,避免 ssh-agent 里别的 key 干扰

设置权限(SSH 要求配置文件权限够严):

chmod600~/.ssh/configchmod600~/.ssh/id_ed25519

六、登录测试

sshmy-cloud-server

首次会提示:

The authenticity of host '...' can't be established. Are you sure you want to continue connecting (yes/no)?

输入yes回车。成功则进入服务器 shell。

也可不依赖 config,直接:

ssh-i~/.ssh/id_ed25519 ubuntu@203.0.113.10

七、文件互传

7.1 scp(简单拷贝)

上传到服务器:

scp-r./local-folder my-cloud-server:/home/ubuntu/

从服务器下载:

scp-rmy-cloud-server:/home/ubuntu/remote-folder ./local-folder

7.2 rsync(推荐,支持增量与进度)

上传:

rsync-avz--progress-essh./local-folder/ my-cloud-server:/home/ubuntu/remote-folder/

下载:

rsync-avz--progress-esshmy-cloud-server:/home/ubuntu/remote-folder/ ./local-folder/

注意:目录同步时源路径末尾的/会影响「拷贝目录本身还是目录内容」,上面示例是常见写法。

7.3 图形界面:Cyberduck(Mac)

  1. 安装 Cyberduck
  2. 新建连接:SFTP
  3. 服务器:公网 IP,端口 22,用户名ubuntu
  4. SSH Private Key选择~/.ssh/id_ed25519
  5. 连接后可像 Finder 一样拖拽文件

也可导出/导入.duck书签文件,方便下次一键连接(书签里不要提交私钥,只存主机信息)。


八、可选:本地「待上传 / 已下载」工作区

习惯上可以在项目里建一个专用目录,例如:

cloud-sync/ ├── to-server/ # 待上传 ├── from-server/ # 已下载 └── config.json # 记录 SSH 别名、远端路径

日常流程:

  1. 文件丢进to-server/
  2. 点脚本或小型 GUI 一键rsync到服务器

核心仍是SSH 别名 + rsync,GUI 只是少敲几次命令。


九、Cursor / VS Code Remote-SSH

  1. 安装Remote - SSH扩展
  2. Cmd+Shift+PRemote-SSH: Connect to Host…
  3. 选择config里的my-cloud-server
  4. Open Folder选服务器上的项目目录(如/home/ubuntu/app

不要远程打开~/.ssh~/.cursor-server等系统目录当工程根目录。


十、常见问题排查

现象可能原因处理
Connection timed out安全组未放行 22、IP 填错、实例未运行查安全组与公网 IP
Connection refusedsshd 未启动或端口不是 22控制台 VNC 登录检查sshd
Permission denied (publickey)公钥未绑定、未重启、User 错、本机私钥不对重新绑定密钥并重启;核对UserIdentityFile
公钥复制不完整导入时缺头缺尾、中间换行重新cat ~/.ssh/id_ed25519.pub整行复制
绑定新密钥后密码也不能登部分云厂商绑定密钥后会禁用密码登录以密钥为准,或用控制台 VNC 修复

调试时可看详细日志:

ssh-vmy-cloud-server

十一、安全建议(生产环境)

  1. 私钥绝不进 Git、不进博客、不贴聊天窗口
  2. 安全组22 端口尽量只放行固定 IP,而不是全网开放
  3. 定期ssh-keygen轮换;离职机器及时在控制台解绑旧公钥
  4. 服务器启用ufw或云防火墙,只开必要端口
  5. 重要数据传前可打包加密,或使用sftpover 已建立的 SSH 隧道

十二、流程小结

Mac 生成密钥对 ↓ 复制 .pub 公钥 ↓ 火山引擎「导入公钥」创建密钥对 ↓ 绑定 ECS 实例 → 重启 ↓ 安全组放行 TCP 22 ↓ ~/.ssh/config 写 Host 别名 ↓ ssh 登录成功 ↓ scp / rsync / Cyberduck 传文件

按以上步骤,Mac 与火山引擎 ECS 之间就能稳定建立 SSH 连接并完成文件互传。若你使用阿里云、腾讯云,控制台名词略有不同,但「本机私钥 + 云端公钥 + authorized_keys」这一套逻辑完全一致。


文档中的 IP(如 203.0.113.10)、主机别名(my-cloud-server)、密钥名称均为示例,请替换为你自己的环境信息。

http://www.jsqmd.com/news/1068863/

相关文章:

  • 【紧急预警】SITS 2026将于Q3强制启用新注意力校验协议:3类旧版可视化脚本将在2026.09.30自动失效
  • 从本地到云端,ROCm 7.x 环境迁移的差异化配置要点
  • 使用Gemini显示“出了点问题”又或者“Somethingwent wrong”出错?
  • 2026思明区培育钻怎么挑?内行人的避坑指南
  • 软件许可证总是不够用,问题到底出在哪
  • 2026 年 6 月密封圈定制亲测分享
  • 运维转大模型:工程实践里的常见坑
  • # 传统土建危废间难适配数字化监管,越华环保集团智能存储方案能补齐技术短板吗?
  • 【AI原生模型审计黄金标准】:2026奇点大会首次公开的7步闭环审计流程(含GDPR/ISO/MLSec合规映射表)
  • LeetCode 每日一题笔记 日期:2026.06.19 题目:1840. 最高建筑高度
  • 上门按摩平台的护城河,到底在哪里?
  • 2026年在惠州寻找靠谱的产品故事片影视制作服务商哪家更靠谱
  • FasiumAI 服装设计实战:从参考图到三视图与 AI 生成 Tech Pack 的完整流程
  • ASR与NLP:人工智能语言处理的双翼
  • 大模型调试不再靠猜(SITS 2026注意力异常检测引擎内测版限时开放,仅剩最后112个企业席位)
  • 一次内部转发引发的泄密复盘:边界防护为何挡不住文件失控
  • 软文发稿平台怎么选?从资源、优化、售后看懂平台差距
  • Litefuse 开源发布:一行命令部署 Agent 可观测与评估平台,单机版比 Langfuse 快 5.5 倍
  • IDEA搭建SpringBoot+Elasticsearch6.8完整流程
  • Deno 2.9 版本将推 deno desktop:小体积、跨平台,优势显著!
  • 红外冷媒传感器是什么?原理、选型、参数、应用对比全在这
  • 高危工业防爆监控选型技术指南:5 家合规厂商技术能力横向对比
  • NSK RNFCL2040A2 滚珠丝杠技术手册
  • 为什么92%的SITS 2026部署环境未通过对抗压力测试?3个被忽视的架构漏洞与修复优先级清单
  • 一键备份QQ相册,原图无损下载【QQ相册下载器】
  • 【JAVA毕设源码分享】基于springboot高校教学质量评估系统(程序+文档+代码讲解+一条龙定制)
  • 你的数字价值,不该被平台锁定|登陆HappyPlanet,共建全新数字世界!
  • 手机信号增强器的工作原理是什么?
  • 杂乱文件太多处理不过来?这套ETL方案专治各种“不服”(选做实验1)
  • 2026年装修选水漆工艺全屋定制厂家,如何避开环保陷阱?