必须先在Mac开启远程登录服务才能SSH连接,推荐通过系统设置图形界面操作:Apple图标→系统设置→隐私与安全性→远程登录→启用;命令行可用sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist或sudo systemsetup -setremotelogin on,但需手动放行防火墙22端口;验证需检查launchctl list、lsof -i :22及跨设备实连。

想从另一台电脑通过SSH命令行远程控制Mac,必须先让Mac本身运行SSH服务并允许外部连接,否则任何ssh username@ip的尝试都会提示connection refused。
用系统设置图形界面开启远程登录
这是最稳妥、适配所有macOS版本(含Sequoia 15.x)的操作路径,无需记忆命令,也不依赖终端权限。
第一步:点击屏幕左上角Apple图标 →「系统设置」→ 左侧边栏滚动到底部,点「隐私与安全性」→ 右侧下滑找到「远程登录」,点击右侧开关。
第二步:首次开启时会弹出警告框,提示“启用远程登录后,其他用户可通过网络访问你的Mac”,【必须点“启用远程登录”而非“稍后”】,否则服务不会真正启动。
第三步:启用后,下方立即显示连接命令示例,形如ssh user@192.168.1.123——其中user是当前登录用户名,192.168.1.123是Mac当前局域网IP。这个IP可能随Wi-Fi切换而变,务必在此刻记下。
用终端命令快速启用SSH服务
适合批量部署或脚本化管理,响应快,但不显示IP地址,也不触发图形提示,容易漏掉关键信息。
方法一:加载并启用服务
在终端中运行:sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist → 输入管理员密码 → 系统自动启用并设为开机自启。
方法二:调用系统管理接口
运行:sudo systemsetup -setremotelogin on → 输入密码后立即生效,验证可用sudo systemsetup -getremotelogin,返回Remote Login: On即成功。
注意:两种命令行方式均不会自动打开防火墙端口,若系统防火墙开启,需手动放行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”,输入yes后再输入密码即可登录。

















