晚上继续处理自己 MacBook 升级后的问题,要记得昨天晚上打算拉仓库,提示 SSH 验证错误。简单排查后发现删除 ~/.ssh
目录后的错误信息完全一致。Google 后找到一篇讨论《Git SSH "permission denied" in macOS 13 Ventura》发现是 MacOS Ventura 独有的设定,需要解除其限制,强制支持 RSA/SHA-1 算法,即可正常使用原有的密钥。
# ~/.ssh/config
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
当然,既然 MacOS 提醒你 SHA-1 不安全了,那也是时候采用其他算法重新生成一个密钥了。
顺着去找了有关时间机器的问题,大家都知道开发项目的依赖文件不应该被备份进去,node_modules
即便是软链接,使用时间机器备份也将会被完整复制了,也难怪我用了好几个小时才搞定一次完整备份。
这篇讨论 提到了一个叫 Asimov 的项目,通过扫描个人文件夹下的目录实现添加到时间机器忽略名单,从而避免备份依赖文件的操作。
想起此前使用 Catalina 的时候安装 HomeBrew 会自动下载一个很大的 Git 仓库,在 GitHub 上也有这样的 讨论。官方提供了一个 Beta 特性,即使用 API 的方式获取对应程序的包文件,给终端设置环境变量 HOMEBREW_INSTALL_FROM_API
就可以了,这样就能避免在你的电脑上下载巨大的仓库文件(你只是使用,并不会参与到项目维护中,所以完全没这个必要)