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

如何在Mac上开启SSH远程桌面连接

想从另一台电脑通过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 账户密码,就能完成登录。

本文转载于:https://www.php.cn/faq/2979906.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。