在 macOS 上實現 免密登錄阿里雲 ECS 服務器,核心原理是使用 SSH 密鑰對認證:將本地生成的公鑰上傳到服務器的 ~/.ssh/authorized_keys 文件中,之後 SSH 登錄時系統會自動使用私鑰完成認證,無需輸入密碼。

本教程適用於 macOS 終端或 iTerm2 用户,步驟清晰、命令可複製,助你快速實現安全高效的免密登錄!


在開始前,請確保你的 ECS 實例安全組 已放行來自你 Mac 本地 IP 的 22 端口(SSH)入方向流量

✅ 操作路徑:
阿里雲控制枱 → 雲服務器 ECS → 實例 → 安全組 → 配置規則 → 添加入方向規則

  • 協議類型:SSH (22)
  • 授權對象:填寫你的公網 IP(或 0.0.0.0/0 測試用,生產環境不推薦)

Mac終端配置免密碼登陸雲服務器_服務器


✅ 步驟 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

Mac終端配置免密碼登陸雲服務器_IP_02

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.126
Welcome to Alibaba Cloud Elastic Compute Service !

即可秒登服務器!⚡


  1. 安全組必須開放 22 端口 —— 否則連接被拒絕。
  2. 權限設置必須正確
  • ~/.ssh700
  • ~/.ssh/authorized_keys600
  1. 若仍提示輸入密碼,請檢查服務器 SSH 配置:
sudo vim /etc/ssh/sshd_config
  1. 確保以下配置存在且未被註釋:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
  1. 修改後重啓 SSH 服務:
sudo systemctl restart sshd
  1. 多服務器管理建議:後續可使用 ~/.ssh/config 文件配置多個主機別名與密鑰路徑,實現更靈活管理。