Remote Login禁用时,如何批量修改网络中Mac的admin密码?
嘿,这个场景我太熟悉了——之前帮公司几十台Mac批量改密码,一开始也是手动跑,后来摸索出几个高效方案,再也不用挨个蹲机器了:
高效批量修改Mac设备admin密码的方案
方案1:用Apple Remote Desktop(ARD)——最推荐的企业级方案
ARD是苹果官方的远程管理工具,哪怕Remote Login(SSH)是禁用状态,只要目标Mac和你的管理Mac在同一局域网,且你有目标Mac现有admin账号的密码,就能远程操作:
- 第一步:在你的管理Mac上从Mac App Store安装Apple Remote Desktop
- 第二步:打开ARD,扫描局域网内的所有Mac设备,把它们添加到你的设备列表(ARD会自动发现同一网段的Mac)
- 第三步:选中所有需要修改的Mac,执行发送UNIX命令的操作,输入修改密码的命令:
执行时会要求你输入目标Mac现有admin的密码来授权,输入后就能批量完成修改dscl . -passwd /Users/admin 你的新密码 - 额外福利:改完密码后,还能顺便用ARD批量启用Remote Login,方便后续更灵活的远程管理:
systemsetup -setremotelogin on
方案2:用MDM(移动设备管理)——长期批量管理的最优解
如果你们团队已经部署了MDM服务器(比如Jamf Pro、Mosyle这类),那这事儿就更省心了:
- 只要目标Mac已经加入MDM管理,你可以直接在MDM控制台创建一个密码配置文件,指定admin账号的新密码,一键推送到所有目标Mac
- 哪怕Remote Login是禁用状态,MDM也能通过苹果官方的管理通道完成配置,完全不需要手动登录每台设备
- 要是还没部署MDM,真心建议安排上,长期来看能省超多运维时间
方案3:临时启用SSH的快捷技巧(应急用)
如果手头暂时没法用ARD或MDM,也可以用AirDrop配合脚本快速搞定:
- 先写一个简单的shell脚本,命名为
enable_ssh.sh,内容如下:#!/bin/bash systemsetup -setremotelogin on - 给脚本加执行权限:
chmod +x enable_ssh.sh - 通过AirDrop把脚本发送到每台目标Mac,用现有admin账号登录后双击运行(虽然还是要碰每台机器,但比手动改密码+开SSH快不少)
- 等所有Mac都开启SSH后,就可以在你的管理Mac上用
parallel-ssh这类批量SSH工具,批量执行修改密码的命令:
这里的pssh -h mac_ip_list.txt -l admin -P -A -c "dscl . -passwd /Users/admin 你的新密码"mac_ip_list.txt是你整理好的所有目标Mac的IP地址,每行一个
几个重要提醒
- 所有操作的前提是你知道目标Mac现有admin账号的密码,这个是绕不开的
- 修改完密码后,记得同步更新团队的密码管理系统,避免后续混乱
- 如果是 macOS Ventura 及以上版本,执行修改密码的命令可能需要额外的权限验证,用ARD的话会自动弹出远程授权窗口,输入现有密码即可
内容的提问来源于stack exchange,提问作者Lele




