要实现远程控制,第一步得先把 Mac 的 SSH 服务打开。常见做法有两种:一种走图形界面,在“系统设置→隐私与安全性→远程登录”里开启;另一种用命令行执行 sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist。开启之后,别急着往下做,还需要确认 sshd 已经正常运行,并且 22 端口确实处于监听状态。

想从另一台电脑通过SSH命令行远程控制Mac,必须先让Mac本身运行SSH服务并允许外部连接,否则任何ssh username@ip的尝试都会提示connection refused。
确认Mac已安装OpenSSH客户端与服务端
macOS自10.8起已预装OpenSSH全套工具,包括ssh(客户端)和sshd(服务端)。无需额外安装,但需验证服务端是否存在:
在终端中执行:which sshd。若返回/usr/sbin/sshd,说明服务端就绪;若无输出,则系统异常,需重装系统或修复权限。
启用SSH服务(图形界面方式)
这是最稳妥、适配所有macOS版本(含Sequoia 15.x)的操作路径:
第一步:点击屏幕左上角Apple图标 →「系统设置」→ 左侧边栏滚动到底部,点「隐私与安全性」→ 右侧下滑找到「远程登录」,点击右侧开关。
第二步:首次开启时会弹出警告框,提示“启用远程登录后,其他用户可通过网络访问你的Mac”,【必须点“启用远程登录”而非“稍后”】,否则服务不会真正启动。
第三步:启用后,下方立即显示连接命令示例,形如ssh user@192.168.1.123——其中user是当前登录用户名,192.168.1.123是Mac当前局域网IP。这个IP可能随Wi-Fi切换而变,务必在此刻记下。
启用SSH服务(命令行方式)
适合批量部署或脚本化管理,但需管理员密码且不触发图形提示:
方法一:加载并启用服务
在终端中运行:sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist → 输入管理员密码 → 系统自动启用并设为开机自启。
方法二:快速开关检查
运行:sudo systemsetup -setremotelogin on → 该命令兼容旧版macOS(Catalina及以前),在Sequoia中仍有效,但不显示IP地址信息。
注意:两种命令行方式均不会自动打开防火墙端口,若系统防火墙开启,需手动放行TCP 22端口,否则外网无法穿透。
验证SSH是否生效
不要跳过这一步,很多用户以为勾选了就成功,实际服务可能因权限或配置被静默拒绝:
在本机终端执行:sudo launchctl list | grep ssh → 正常应输出一行含com.openssh.sshd的条目;若无输出,说明服务未运行。
再执行:lsof -i :22 → 查看22端口监听状态,若有sshd进程绑定*:ssh,表示服务已在监听。
最后,可以换一台处在同一局域网内的设备来实际连一次,比如 iPhone 上的 Termius,或者 Windows 上的 PuTTY。把刚才记下来的ssh user@192.168.1.123填进去发起连接。第一次连上时,系统通常会弹出“Are you sure you want to continue connecting?”这样的提示,这一步直接输入yes,随后再输入 Mac 账户密码,就能完成登录。