首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PuTTYgen理解SSH私钥和公钥

用PuTTYgen理解SSH私钥和公钥
EN

Stack Overflow用户
提问于 2015-12-03 18:00:41
回答 1查看 642关注 0票数 0

我使用PuTTy keygen创建了一个公钥。我将公钥复制到david.pub中,并发送给将密钥放在服务器(Vps)上的开发人员,这样我就可以克隆一个存储库。当我创建公钥时,我输入了密码。当我试图克隆时,会发生这样的情况:

$ git clone my_app:money_app.git new_money_app Cloning into 'new_money_app'... Enter passphrase for key '/c/Users/User1/.ssh/david.pub':

我输入我设置的密码,这一行重复3次Enter passphrase for key '/c/Users/User1/.ssh/david.pub':

然后在这个显示之后

代码语言:javascript
复制
 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

存储库是存在的。以下是我的配置文件的外观:

代码语言:javascript
复制
Host my_app
User git
HostName xx.xx.xxx.xx
PubkeyAuthentication yes
PreferredAuthentications publickey
IdentityFile ~/.ssh/david.pub

如何解决这个问题,以便克隆存储库?我对GIT完全陌生,我需要重新创建公钥吗?我被告知要创建一个公钥,我也需要私钥吗?

我是一个前端开发人员,所以这很让人困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-03 18:12:44

这不是Git问题,只是ssh。通过尝试将ssh插入机器,您可以更容易地调试这个问题。ssh my_app应该会给您同样的问题。

公钥不应该有密码,这应该会提示你有问题。它一遍又一遍地问你,因为你正在输入一个密钥没有的密码。你的私钥有密码。

在ssh中有两个密钥,公共密钥(~/.ssh/david.pub)和私有密钥(~/.ssh/david)。没有私密的钥匙你不可能公开的。私钥是你的秘密,它和你在一起,如果它被偷了,它应该受到密码保护。公钥位于您想要登录的服务器上。私钥用于解锁用公共密钥加密的东西(反之亦然)。

问题是这条线:

代码语言:javascript
复制
IdentityFile ~/.ssh/david.pub

这应该是你的私钥,~/.ssh/david

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34073049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档