MacBook SSH 密钥与钥匙串管理全流程指南
1. MacBook 端操作
1.1 创建 SSH 密钥对
命令:
ssh-keygen -t rsa -b 4096 -C "备注"- Enter file in which to save the key:直接回车(默认保存至
~/.ssh/id_rsa)。 - Enter passphrase:输入你的私钥密码(建议设置)。
- Enter same passphrase again:再次输入以确认。
1.2 将私钥加入 macOS 钥匙串
输入以下命令,将私钥添加到钥匙串,系统会要求输入你刚设置的访问密码:
ssh-add --apple-use-keychain ~/.ssh/id_rsa1.3 在钥匙串访问中查看 SSH 私钥
- 按下
Command + Space,搜索并打开 “钥匙串访问”(Keychain Access) 。 - 在左侧选择 “登录”(login) 钥匙串。
- 右侧搜索框输入 ssh。
- 查找名为
SSH: /Users/你的用户名/.ssh/id_rsa的条目(显示本地私钥目录)。 - 双击该条目,勾选 “显示密码” ,输入你的 Mac 开机密码后可查看私钥口令。
- 建议为条目添加备注,标明对应服务器。
1.4 配置自动调用钥匙串内私钥
编辑 SSH 配置文件,实现自动调用钥匙串内的私钥:
vim ~/.ssh/config复制以下内容,并补充需要连接的服务器信息:
Host *
# 连接复用配置
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
ControlPersist 10m
# 保持连接活跃
ServerAliveInterval 30
ServerAliveCountMax 2
# 自动使用 Mac 钥匙串
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Host router
HostName 192.168.100.1
User root
Port 22
# --- 服务器系列 ---
Host debian
HostName 192.168.100.50
User root
# 如有更改端口(如 2222),请相应修改
Port 221.5 快速登录体验
配置完成后,连接和传输文件更加便捷:
| 场景 | 以前的命令 | 现在的命令 |
|---|---|---|
| 登录 Debian | ssh root@192.168.100.50 | ssh debian |
| 传文件到 Debian | scp xxx.js root@192.168.100.1:/tmp/ | scp xxx.js debian:/tmp/ |
2. 服务器端操作
2.1 上传公钥到服务器
命令:
# 请将 user 换成 root,IP 换成你服务器实际 IP
ssh-copy-id root@192.168.100.1- 执行后:系统会要求输入一次该服务器的 SSH 登录密码。
- 成功标志:出现 Number of key(s) added: 1 提示。
- 多台服务器:每台服务器需分别执行一次该命令。
2.2 查看服务器已存储的公钥
在服务器终端输入:
cat ~/.ssh/authorized_keys可查看当前已授权的公钥列表。
2.3 仅允许密钥方式登录服务器
[!注意:] ⚠️ Warning
修改前请勿断开当前 SSH 连接,务必使用新密钥测试登录成功后再断开!
- 编辑 SSH 配置文件:
vim /etc/ssh/sshd_config找到并修改以下参数(去掉前面的 # 注释):
- PubkeyAuthentication yes
- PasswordAuthentication no
- 重启 SSH 服务:
systemctl restart ssh