🖥️ macOS 自带 Terminal:配置 SSH 登录的标准方法
macOS 内置了功能强大的 Terminal(终端),无需额外安装即可使用 SSH 连接远程服务器。通过配置 ~/.ssh/config 文件,你可以:
-
简化 SSH 命令(用短名代替长串 IP/端口)
-
管理多个服务器登录信息
-
实现免密登录(推荐使用 SSH 密钥)
📍 文件位置
配置文件路径为:
~/.ssh/config
这个文件由 macOS 自带 Terminal 识别并自动加载。
✍ 如何编辑(
macOS 默认 nano 编辑器
)
在 Terminal 中输入:
nano ~/.ssh/config
📌 macOS 的 nano 快捷键:
-
Ctrl + O → 保存
-
Enter → 确认文件名
-
Ctrl + X → 退出编辑器
⚠️ 注意:不是 :wq,那是 Vim 的写法。
✅ 示例配置
Host myserver
HostName 192.168.1.123 # 服务器地址
Port 2222 # 非默认端口需写
User root # 登录用户
IdentityFile ~/.ssh/id_ed25519 # 密钥路径
连接命令简化为:
ssh myserver
🔐 使用 SSH 密钥登录(推荐)
-
生成密钥(如果没有):
ssh-keygen -t ed25519 -C "your@email.com"
默认会保存在:
~/.ssh/id_ed25519(私钥)
~/.ssh/id_ed25519.pub(公钥)
-
上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@192.168.1.123 -p 2222
-
在 config 中配置使用该密钥(参考上方配置)。
💡 备用方法:让 macOS 记住密码(不推荐)
如果未使用密钥,macOS 会提示是否将密码保存到钥匙串中(Keychain)。虽然方便,但安全性略逊于密钥认证。
🧠 多服务器配置举例
Host dev
HostName dev.example.com
User root
Port 2222
IdentityFile ~/.ssh/dev_rsa
Host staging
HostName staging.example.com
User ubuntu
IdentityFile ~/.ssh/staging_rsa
❌ 不推荐:将密码写入配置文件
虽然技术上可以通过工具如 sshpass 实现自动密码登录,但:
-
macOS 默认无此工具
-
安全风险极高(明文密码)
-
不被官方推荐
✅ 小结
特性
|
描述
|
🛠 工具
|
macOS 自带 Terminal,无需安装
|
🔑 推荐认证方式
|
使用 SSH 密钥免密登录
|
📁 管理文件
|
~/.ssh/config 用于集中管理服务器信息
|
✍ 保存快捷键
|
在 nano 中使用 Ctrl + O 保存,Ctrl + X 退出
|
❌ 避免行为
|
明文密码、使用 :wq 保存等 Vim 习惯
|