Matlab 中Git 报 Auth fail
一个可能原因是 ssh 私钥的格式不对
Matlab 的Git 客户端需要旧版的RSA 格式,新旧私钥(~/.ssh/id_rsa)格式对比:
- 旧版
-----BEGIN RSA PRIVATE KEY----- - 新版
-----BEGIN OPENSSH PRIVATE KEY-----
一般地:
- 旧版的
ssh-keygen会默认创建RSA格式的私钥; - 当(旧版
ssh-keygen)指定了-o参数时,则会创建OPENSSH格式的私钥,这种格式与MATLAB不兼容(但是与Github 等网站的要求似乎并不冲突); - 目前版本的
ssh-keygen都是默认生成OPENSSH格式的私钥。所以我们需要添加-m PEM参数来指定生成RSA格式的私钥。
所以,当我们在创建新的密钥时,可以采取对应的命令来生成RSA 格式的私钥:
- 新创建
ssh-keygen -t rsa -b 4096 -m PEM - 转换现有文件格式
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
在更新完密钥后,可能需要重启Matlab 才能最终解决问题。在使用其他用户身份运行Matlab 时,也有可能需要对其他用户的~/.ssh/id_rsa 做同样的操作。
不登山,不知天之高;不临深溪,不知地之厚!

浙公网安备 33010602011771号