记一次使用tortoiseGit(小乌龟git)报错的经历

我是一个菜鸟,最近搭建了新的开发环境,常规方式安装git、tortoiseGit及其中文语言包后,使用ssh协议方式克隆项目,老是报No supported authentication methods available(server sent: publickey)错误,意思是:“没有支持的身份验证方法可用(服务器发送:publickey)” ,百搜不得其解,最后....

原因

大概是因为TortoiseGit默认使用TortoiseGitPlink生成密钥,而密钥是putty密钥对,而现在常用的是OpenSSH生成的密钥对,导致不匹配。

解决方法

  1. 打开首次启动向导,在任意目录右键,点击 TortoiseGit > 设置 > 常规设置 > 重新运行首次启动向导,如下:


  2. 运行首次启动向导后,在“身份验证和凭据存储”步骤,选择“OpenSSH”,如下:


其它技巧

  1. 当报此类错误时,可以先使用如下命令测试服务器是否联通
ssh -T [email protected]
ssh -T -v [email protected]  // 增加 `-v` 参数后会显示详细信息
  1. 安装 git 后,可以使用 git 图形化界面查看公钥或生成密钥对,方法是:任意目录右键,Git GUI here > Help > Show SSH Key,如果已生成密钥,公钥会显示在文本框中,直接点击左下角的 “Copy To Clipboard” 复制到剪贴板,在需要的位置粘贴即可,或者可以点击右上角的 “Generate Key” 生成密钥对。


  2. Git项目中的文件上的角标符号说明


    image.png
  3. 当你在 Windows 中安装 git 后,最好在 git bash,输入相关命令,它支持很多 “cmd” 不支持的命令,比如:
cd ~ // 切换到家目录
cat ~/.ssh/id_rsa.pub // 查看本地是否存在公钥
ssh-keygen -t rsa -C "<您的邮箱>" -f "<密钥文件名>" // -C: 标识符,建议不要使用 -f,默认就好,避免一些不必要的麻烦,因为改名后,git 不知道密钥文件名,将导致克隆、推送错误。
clip < ~/.ssh/id_rsa.pub // 将公钥复制到剪贴板

你可能感兴趣的:(记一次使用tortoiseGit(小乌龟git)报错的经历)