问题描述
- zerotier-cli 提示 401 错误
- ZeroTier(ZeroTier-Desktop-UI) 运行等几秒后闪退
- ZeroTier(ZeroTier-Desktop-UI) 一直提示"Waiting for ZeroTier system service..."
解决办法
- 删除 ~/Library/Application Support/ZeroTier 内的文件
- 卸载已安装的ZeroTier,在terminal中运行:
sudo /Library/Application Support/ZeroTier/One/uninstall.sh - 重新安装ZeroTier
问题原因
我遇到的情况是通过TimeMachine恢复后,因为权限问题,ZeroTier相关工具无法将正确的authtoken写入用户目录内,使得zerotier-cli及ZeroTier-Desktop-UI使用错误的authtoken连接zerotier-one,zerotier-one的http服务响应返回401。
其他细节
下载ZeroTier-Desktop源代码(Releases · zerotier/DesktopUI ),在serviceclient.rs的get_auth_token_and_port函数可以发现authtoken是读取home目录内的,然后对比了/Library/Application Support/ZeroTier/One和用户目录内的authtoken发现两者不一致。