要查mac远程连接记录,需先启用“远程管理”或“屏幕共享”,再用sudo权限访问/private/var/db/remotemanagement/rmdb/下的sqlite数据库,通过sqlite3查询connections和events表获取连接详情与操作日志。

你想查Mac上谁连过你的电脑、连了多久、干了什么,就得翻远程桌面连接记录——这些数据藏在系统数据库里,不是随便点两下就能看到的。
确认远程管理功能是否启用并产生日志
只有启用了“远程管理”或“屏幕共享”,系统才会写入连接记录。如果这两个都没开,【/private/var/db/RemoteManagement/RMDB/】目录根本不存在,后续所有操作都无效。
打开“系统设置”→“通用”→“共享”,检查“远程管理”或“屏幕共享”开关是否已开启。没开就先启用,否则没有日志可查。
定位并访问远程桌面连接数据库
远程桌面的所有连接行为、用户操作、文件传输等事件,都存放在SQLite数据库中:
路径是:【/private/var/db/RemoteManagement/RMDB/】
这个目录默认受系统保护,普通用户无法直接进入。必须用终端配合sudo权限打开:
打开“终端”,输入:sudo open /private/var/db/RemoteManagement/RMDB/,回车后输入当前账户密码(输的时候不显示字符,输完直接按回车)。
注意:这里不能用访达双击进入,也不能用普通用户权限打开,否则会提示“您没有权限查看此文档”。
读取核心日志表:connections和events
数据库里最关键的两张表是 connections 和 events:
connections 表记录每次连接的起止时间、客户端IP、用户名、连接方式(ARD/VNC)、是否控制屏幕;
events 表记录具体操作,比如“执行了shell命令”“传输了文件”“重启了系统”——但只记动作类型,不存命令内容或文件名。
用终端执行查询最直接:
先切换到数据库目录:cd /private/var/db/RemoteManagement/RMDB/
然后运行:sqlite3 RMDB.db "SELECT datetime(start_time, 'unixepoch'), client_ip, username, connection_type FROM connections ORDER BY start_time DESC LIMIT 10;"
这条命令能立刻拉出最近10次连接的完整时间、来源IP、账号和协议类型,比翻文件快得多。
导出记录为CSV供长期归档
如果需要把连接记录交给IT审计或存档,得导出成CSV格式:
在终端中执行:sqlite3 RMDB.db ".headers on" ".mode csv" "SELECT * FROM connections;" > ~/Desktop/remote_connections.csv
这行命令会把整个connections表(含表头)导出到桌面,文件名是remote_connections.csv,可用Excel或Numbers直接打开。
注意:导出前确保桌面有写入权限,且不要在导出时移动或重命名该文件,否则路径失效。
清除旧记录释放空间(谨慎操作)
数据库不会自动清理,几个月下来可能膨胀到百MB。若确定不需要历史记录,可手动删:
第一步:关闭所有远程管理相关进程。打开“活动监视器”,搜索“AppleVNCServer”“remoted”“ARDAgent”,全部强制退出。
第二步:删除数据库文件:sudo rm /private/var/db/RemoteManagement/RMDB/RMDB.db
第三步:重启Mac。系统会在下次远程连接时重建空白数据库。
【此操作不可逆,删除后所有历史连接记录永久丢失】











