macos ssh远程登录需先启用服务并授权账户:一、在「系统设置→通用→共享」中开启「远程登录」;二、点击右侧「信息」图标,选「仅这些用户」并添加目标账户;三、确保该账户有密码、合法shell且非访客账户;四、可选配置ed25519密钥实现免密登录。
macos 用户账户管理与 ssh 远程登录账号配置紧密相关——不是所有本地用户默认能通过 ssh 登录,必须在启用远程登录服务后,明确授权指定账户,同时确保其具备必要权限和安全设置。
一、先开启远程登录服务
SSH 服务本身不随系统启动,默认关闭。必须主动启用,否则任何账户都无法远程接入:
- 打开「系统设置」→「通用」→「共享」
- 开启「远程登录」开关
- 右侧显示“已允许访问”,此时服务才真正运行(sshd 进程启动,监听端口 22)
二、指定可登录的用户账户
开启服务后,默认仅允许管理员组成员(如创建 macOS 时的首个用户)登录。但需手动确认或调整范围,避免误开“所有用户”带来风险:
- 点击「远程登录」右侧的「信息」图标(ℹ️)
- 选择「仅这些用户」→ 点击「+」添加具体账户(推荐方式)
- 勾选目标用户名(如 yourname),确保该账户已设置密码且未被停用
- 不建议选「所有用户」,尤其当 Mac 上存在访客账户或临时测试账户时
三、验证账户是否满足 SSH 登录前提
即使被加入白名单,以下条件任一缺失也会导致连接失败:
- 该账户必须是标准用户或管理员,不能是“群组”或“网络账户”
- 账户密码不能为空(SSH 密码登录需密码;密钥登录也要求账户本身可认证)
- 若使用 FileVault 加密全盘,首次登录可能需先本地解锁一次,后续 SSH 才能正常建立会话
- 账户的 shell 必须为合法登录 shell(如 /bin/zsh 或 /bin/bash),可在「系统设置」→「用户与群组」→ 右键用户 →「高级选项」中确认
四、为特定账户配置免密登录(可选但推荐)
对常用管理账户,建议部署 SSH 密钥而非依赖密码,既提升效率又增强安全性:
- 在本地 Mac 终端执行:
ssh-keygen -t ed25519 -C "admin@mac.local" - 将生成的公钥(
~/.ssh/id_ed25519.pub)内容复制 - 用密码登录一次目标账户:
ssh yourname@192.168.x.x - 在远程终端中依次运行:
mkdir -p ~/.sshchmod 700 ~/.sshecho "粘贴的公钥" >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys











