在Google Colab中使用git clone遇到SSH验证失败该如何处理
核心报错原因
你遇到的错误有两个触发点:
- Colab临时运行环境首次连接你的Git服务器时,未将服务器的主机密钥加入本地信任列表,触发
Host key verification failed报错 - 生成的SSH公钥未添加到Git服务端的授权列表,无法完成身份校验
完整操作步骤
- 生成无交互的SSH密钥对
直接运行带参数的命令跳过手动确认步骤,密钥自动存储到默认路径:
生成后的文件路径:!ssh-keygen -t rsa -b 2048 -f /root/.ssh/id_rsa -N ""- 私钥:
/root/.ssh/id_rsa(敏感信息,不要泄露) - 公钥:
/root/.ssh/id_rsa.pub(需要添加到服务端)
- 私钥:
- 复制公钥到Git服务端授权
运行命令查看公钥完整内容:
将输出的全部内容复制,添加到!cat /root/.ssh/id_rsa.pubgit.example.com对应账号的SSH密钥管理列表,或服务器对应用户的~/.ssh/authorized_keys文件末尾。 - 添加Git服务器到本地信任列表
运行命令自动拉取Git服务器的主机密钥并加入信任列表,解决主机验证报错:!ssh-keyscan git.example.com >> /root/.ssh/known_hosts - 测试SSH连通性
出现服务端的欢迎提示即代表连通正常。!ssh -T git@git.example.com - 执行拉取代码操作
!git clone git@git.example.com:/~/myGit/myproj.git
优化建议
Colab运行时是临时实例,每次断开重连后所有本地文件都会重置,无需每次生成新密钥:
你可以将生成好的私钥存储到自己的Google云盘,每次启动Notebook后先挂载云盘,将私钥复制到/root/.ssh/路径下即可,无需反复到服务端添加新公钥。
内容的提问来源于stack exchange,提问作者whitebear
相关产品推荐
相关产品推荐

