sourcetree使用ssh拉取代码报错?看下是不是ssh客户端的问题以及相应的解决方案看这里~~~

相信很多软件开发的同学都很熟悉sourcetree,如果也有同学在使用过程中出现ssh拉取代码出现如下报错的问题

这里比较头疼的是没法交互输入y确认缓存秘钥。

The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 :::::::::::* ::::
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n)

不妨参考下如下3种方案。

第一种
直接使用命令行的方式,当然可能使用sourcetree就是想用界面处理的,所以可以参考下第二三种。

第二种:初始化putty。因为source Tree默认是使用putty作为秘钥验证的工具。具体做法为:

找到putty路径,默认在: SourceTree\app-3.4.12\tools\putty,进入这个路径
在此处打开命令行,运行:plink git@github.com即可。
Store key in cache? (y/n, Return cancels connection, i for more info) y 重要的是在这里输入y

不过以上的是网上找到的方法,对于我来说面板中需要输入的密码输入了之后不知道为什么总是access deny的状态,我觉得可能我的公司内部的gitlab项目,应该跟私有化部署有关,跟服务权限也有关系?,密码之类的就行不通。我就自己尝试了下重新生成putty秘钥(工具————创建或导入SSH秘钥)

然后在git仓库那边一样的添加公钥,工具——选项打开的设置里里面添加刚刚生成的私钥文件(后缀为ppk的文件),点击确定,重新试一下就ok了。其实本质上就是公钥私钥的验证,有点不太明白为啥网上的方法要验证密码。希望我的解决方案可以给个思路。

第三种比较简单,就是直接修改sourcetree中ssh客户端,然后秘钥选择之前已经生成的秘钥文件就可以

总体来说,推荐第二三种解决咯,可以自己选择试试。

posted @ 2024-07-01 16:15  csuwujing  阅读(388)  评论(0编辑  收藏  举报