当我克隆一个存储库时,我一直有点“忍受”Github总是问我的用户名和密码。我想绕过这一步,因为这是我的工作流中的一个烦恼。

我尝试使用本指南设置SSH密钥(我成功地做到了)。https://help.github.com/articles/generating-ssh-keys,我成功了。

我的问题是,当克隆一个存储库(使用SSH)时,我仍然被要求输入我的github密码和密码短语。我的理解是,在我设置了这个SSH密钥之后,我就不再需要这样做了。

我不知道该问什么,所以我就说说我的目标吧。

我希望能够克隆存储库,而不必一直把我的Github信息。

我的SSH密钥丢失了什么?如果有人能提供一些指导或资源,我会很感激,因为当涉及到GitHub中的SSH身份验证时,我总是感到有点失落。

据我所知,这是一个测试事情是否正常工作的命令,下面是来自我的控制台的输出:

~ $ ssh -T git@github.com
Saving password to keychain failed
Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa':
Hi MYNAME! You've successfully authenticated, but GitHub does not provide shell access.

当我输入密码时,应该先失败吗?然后,当我输入密码时,它就通过了。


当前回答

一般来说,下面是允许您使用ssh远程连接到服务器的步骤,无需密码:

创建一对rsa私钥和公钥 $ ssh-keygen -t rsa -b 4096 -C "your comments" 复制您的公钥并登录到远程服务器 将您的公钥添加到.ssh/authorized_keys 如果您的计算机中有多个ssh密钥,您可能需要使用ssh-add添加密钥 $ ssh-add /path/to/private/key 然后尝试ssh到服务器 $ SSH username@your_ip_address

来源:http://diary-of-programmer.blogspot.com/2018/08/tips-how-to-ssh-to-your-digitalocean.html

其他回答

问题似乎是因为您从HTTPS克隆而不是SSH。我尝试了所有其他的解决方案,但仍然遇到问题。这对我很有用。

使用osxkeychain helper,如下所示:

看看你是否安装了它。 git credential-osxkeychain 如果它没有安装,你会被提示下载它作为Xcode命令行工具的一部分。 如果已经安装,告诉Git使用全局凭据使用osxkeychain helper。辅助配置: Git配置——全局凭据。辅助osxkeychain

下次克隆HTTPS url时,系统将提示您输入用户名/密码,并授予对OSX密钥链的访问权。当你第一次这样做之后,它应该被保存在你的钥匙链中,你就不必再输入它了。

我已经设置了密码,但由于某种原因,它不再识别它了。因此,我只是再次使用ssh-add -K将身份文件添加到我的钥匙链中,它不再要求我输入密码。

这里所有的答案我都试过了,没有一个管用!我的密码将无法在会话/重新启动我的Mac之间保存。

我从OpenRadar和Twitter上的讨论中发现,苹果故意改变了macOS 10.12 Sierra中SSH -agent的行为,不再自动加载以前的SSH密钥。为了保持与酋长岩相同的行为,我做了以下事情:

ssh-add -K ~/.ssh/id_rsa . sh 注意:将路径更改为您的id_rsa密钥所在的位置。 ssh-add—— 创建(如果存在则编辑)以下~/。ssh /配置文件: 主机* UseKeychain是的 AddKeysToAgent是的 IdentityFile ~ / . ssh / id_rsa

现在我的密码在重启我的Mac之间被记住了!

执行如下命令:

ssh-add -K

它将永远不会再要求您输入密码。

确保您的存储库也使用了ssh

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins- case -2017$ git远程-v 来源git@github.com:eMahtab/jenkins-cje-2017.git(获取) 来源git@github.com:eMahtab/jenkins-cje-2017.git(推送)

不要使用https,如果你的远程使用https,那么它会一直要求密码,即使你已经添加了公钥到Github和添加私钥到ssh-agent。下面将始终要求输入密码

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins- case -2017$ git远程-v 来源https://github.com/eMahtab/jenkins-cje-2017.git(获取) 来源https://github.com/eMahtab/jenkins-cje-2017.git(推送)