macOS 一键免密登录阿里云 ECS:SSH 密钥对认证完整指南
🚀 macOS 一键免密登录阿里云 ECS:SSH 密钥对认证完整指南
在 macOS 上实现 免密登录阿里云 ECS 服务器,核心原理是使用 SSH 密钥对认证:将本地生成的公钥上传到服务器的 ~/.ssh/authorized_keys 文件中,之后 SSH 登录时系统会自动使用私钥完成认证,无需输入密码。
本教程适用于 macOS 终端或 iTerm2 用户,步骤清晰、命令可复制,助你快速实现安全高效的免密登录!
🔧 前置准备:配置阿里云安全组
在开始前,请确保你的 ECS 实例安全组 已放行来自你 Mac 本地 IP 的 22 端口(SSH)入方向流量。
✅ 操作路径:
阿里云控制台 → 云服务器 ECS → 实例 → 安全组 → 配置规则 → 添加入方向规则
- 协议类型:SSH (22)
- 授权对象:填写你的公网 IP(或
0.0.0.0/0测试用,生产环境不推荐)

✅ 步骤 1:在 Mac 上生成 SSH 密钥对(如尚未生成)
打开 终端(Terminal 或 iTerm2),执行以下命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 按回车使用默认路径(
~/.ssh/id_rsa) - 不要设置密码(passphrase) → 直接连续按回车(否则仍需输密码)
- 生成后将在
~/.ssh/目录下得到两个文件:id_rsa(私钥,严禁泄露!)id_rsa.pub(公钥,用于上传服务器)
💡 查看是否已有密钥:
ls ~/.ssh/
✅ 步骤 2:将公钥上传到阿里云 ECS
方法一:使用 ssh-copy-id(推荐 ✅ 最简单)
ssh-copy-id root@你的服务器公网IP
- 首次运行会提示输入 ECS 的 root 密码
- 成功后自动将公钥追加到服务器的
~/.ssh/authorized_keys
⚠️ 若提示
command not found: ssh-copy-id,请先安装:brew install ssh-copy-id(需已安装 Homebrew)
方法二:手动上传(无 ssh-copy-id 时备用)
1. 查看并复制本地公钥内容:
cat ~/.ssh/id_rsa.pub
复制输出的整行内容(以 ssh-rsa AAAAB3... 开头)
2. 登录 ECS 输入密码:
ssh root@你的服务器公网IP

3. 在服务器上创建目录并写入公钥:
mkdir -p ~/.ssh
echo "粘贴你复制的公钥内容" >> ~/.ssh/authorized_keys
4. 设置关键权限(必须!否则登录失败):
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
5. 退出服务器:
exit
✅ 步骤 3:测试免密登录
ssh root@你的服务器公网IP
✅ 若 无需输入密码直接进入服务器,恭喜你配置成功!
✅ 步骤 4:(可选)配置别名,简化登录命令
编辑你的 Shell 配置文件:
-
如果使用 zsh(macOS Catalina 及以后默认):
vim ~/.zshrc -
如果使用 bash:
vim ~/.bashrc
在文件末尾添加别名(例如命名为 ecs):
alias ecs='ssh root@你的服务器公网IP'
保存后使配置生效:
source ~/.zshrc # 或 source ~/.bashrc
之后只需输入:
yanchang@xxxxx4 ~ % ecs
Last login: Fri Oct 31 11:07:19 2025 from 42.120.75.126Welcome to Alibaba Cloud Elastic Compute Service !
即可秒登服务器!⚡
🔒 安全与排错注意事项
- 安全组必须开放 22 端口 —— 否则连接被拒绝。
- 权限设置必须正确:
~/.ssh→700~/.ssh/authorized_keys→600
- 若仍提示输入密码,请检查服务器 SSH 配置:
确保以下配置存在且未被注释:sudo vim /etc/ssh/sshd_config
修改后重启 SSH 服务:PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keyssudo systemctl restart sshd - 多服务器管理建议:后续可使用
~/.ssh/config文件配置多个主机别名与密钥路径,实现更灵活管理。
