62 git
当我想用这个命令推送到github时
git push origin master
Run Code Online (Sandbox Code Playgroud)
我懂了
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
那么,怎么了?
tut*_*uju 73
显然,您可以使用plink主要的ssh客户端,只需加载您的密钥pageant(如果您像我一样,您已经这样做了):
您可以通过将GIT_SSHenv变量设置为plink.exe路径来完成此操作:
设置GIT_SSH = C:\ Program Files\PuTTY\plink.exe
或者,你可以使用TortoiseGit的plink:
设置GIT_SSH = c:\ Program Files\TortoiseGit\bin\TortoisePLink.exe
图片来源:此博客文章中的原始解决方案
G S*_*hah 45
我能够解决此问题如下:
当你这样做时:
ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)
它会提示您(可选)输入用于保存生成的密钥的文件名.指定文件名浪费了我一整天!第二天我让它使用默认文件名,问题就消失了!想像!!
平台是Win7和msysgit.
Joh*_*ika 36
这是我用来实现这一目标的分步指南.
平台:Windows 7
从http://msysgit.github.io/安装msysgit
在安装过程中,接受所有默认选项,除非出现"选择组件"选项.出现此信息时,选择"Git Bash Here"选项.虽然这不是必需的,但它在Windows资源管理器中工作时添加了一个很好的上下文菜单,我发现它非常有帮助.

一旦安装了msysgit,也将安装Git Bash.用以下两种方式之一打开Git Bash:
在Git Bash的命令窗口中,输入:
$ ssh-keygen -t rsa
Run Code Online (Sandbox Code Playgroud)
当要求输入文件名时,只需接受默认值即可.出现提示时选择一个强密码,现在应保存您的公钥.您的屏幕应如下所示:

在记事本中打开公钥文件.该文件应驻留在此处:
C:\Users\{username}\.ssh\id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
将文件中的所有内容复制到剪贴板,然后转到GitHub的SSH设置页面:
https://github.com/settings/ssh
选择"添加SSH密钥",输入有用的"标题"并将内容粘贴到"密钥"文本区域中.
为了简化您的生活,您可以使用SSH代理保存密码,这样您就不需要记住它.为此,请将其键入Git Bash:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
系统会提示您输入密码.如果一切顺利,您的身份将被添加.注意:一旦关闭shell,就会忘记这个密码.我不确定如何在会话中坚持这一点,但也许有人可以提供帮助?
要测试一切正常,请将其输入Git Bash:
$ ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)
你应该看到一个'成功'的meesage.
资料来源:
https://help.github.com/articles/generating-ssh-keys/
https://help.github.com/articles/working-with-ssh-key-passphrases/
explanation on why eval `ssh-agent -s` should be used instead of just ssh-agent -s
Run Code Online (Sandbox Code Playgroud)
使用Windows 8设置您的ssh和Github
如果它显示"Permission denied(publickey)",则必须为密钥输入密码.不要只想按下输入...这对我有用...我花了五个小时才意识到,按下输入让OpenSSH觉得你的钥匙太公开所以这就是为什么它拒绝你去下一步.
如果它说"主机的真实性'github.com(203.232.175.90)'无法建立." 然后,您将必须完成此处显示的过程:[Google](https://help.github.com/articles/error-permission-denied-publickey.)
转到"验证公钥是否附加到您的GitHub帐户"部分.您想从说明帐户的部分开始.(我假设你已经拥有一个帐户.
此外,你想要在C:\ RailsInstaller\Git.ssh,当我做'dir'时,我注意到我有'.','..','known_hosts'.我必须通过执行以下操作获得一个新密钥(我在Github网站上找到了这个):
"ssh-keygen -t rsa -C"your_email@example.com"#创建一个新的ssh密钥,使用提供的电子邮件作为标签#生成公共/私有rsa密钥对.<#输入要保存密钥的文件( /c/Users/you/.ssh/id_rsa):[按回车]"
并注意保存密钥的文件.不要只按回车..我的一个显示"(//.ssh/id_rsa)"我必须输入"/.ssh/id_rsa"以确保它在正确的目录中.
您应该能够在命令行中键入ssh.如果你不能这样做,你将不得不将它添加到你的路径.