在 macOS 上开启 SSH 服务可以通过系统偏好设置或命令行完成。
方法 1:通过系统偏好设置启用 SSH
-
打开"系统偏好设置"
- 点击屏幕左上角的 Apple 菜单 > 系统设置 (或 系统偏好设置,取决于 macOS 版本)。
- 选择 "通用" > "共享"(在较新版本中可能需要向下滚动)。
-
启用"远程登录"
- 在"共享"设置中,勾选 "远程登录"(即 SSH 服务)。
- 可以选择允许 "所有用户" 或 "仅这些用户" 访问(默认仅允许管理员)。
-
(可选)允许完全磁盘访问
- 如果需要远程用户访问整个磁盘,勾选 "允许远程用户对磁盘进行完全访问"。
-
记录 SSH 登录命令
- 在"远程登录"下方会显示类似
ssh username@hostname的命令(如ssh user@192.168.1.100),可用于其他设备连接。
- 在"远程登录"下方会显示类似
方法 2:通过命令行启用 SSH
-
启动 SSH 服务
bashsudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist- 输入管理员密码确认。
-
检查 SSH 服务状态
bashsudo launchctl list | grep ssh- 如果显示
com.openssh.sshd,说明服务已运行。
- 如果显示
-
配置防火墙(如有必要)
- 默认情况下,macOS 防火墙可能阻止 SSH 连接。
- 前往 "系统设置" > "网络" > "防火墙",确保允许 SSH(端口 22)通过。
验证 SSH 是否启用
-
在另一台设备上尝试连接:
bashssh username@your_mac_ip首次连接时会提示确认主机密钥,输入
yes后再输入密码即可登录。
注意事项
-
安全性
- 仅允许可信用户访问,避免暴露到公网。
- 建议使用 SSH 密钥认证 替代密码登录(参考
ssh-keygen和ssh-copy-id)。
-
关闭 SSH
-
如需禁用,取消勾选 "远程登录" 或运行:
bashsudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
-
-
配置文件路径
-
SSH 配置文件位于
/etc/ssh/sshd_config,修改后需重启服务:bashsudo kill -HUP $(cat /var/run/sshd.pid)
-
如果需要更高级的配置(如更改端口、禁用密码登录),可进一步编辑 sshd_config 文件。