最近,我在Github.com上签了一个免费计划.我按照他们的说明生成一个ssh密钥以添加到我的帐户.但是,当我尝试时ssh -v git@github.com,我收到此错误:
debug1: Server accepts key: pkalg ssh-rsa blen 277
Agent admitted failure to sign using the key.
debug1: Trying private key: /home/phuongnd08/.ssh/identity
debug1: Trying private key: /home/phuongnd08/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
当我查看错误时,我在这里看到一个有趣的事情,就是没有尝试过.ssh/id_rsa,只是尝试了.ssh/identity和.ssh/id_dsa.
我该如何解决这个错误?谢谢
这是我的设置:
sudo su jenkins尝试时ssh -vT git@github.com,我总是被问到我的密码,但我总是最终被认证.(详细选项显示使用了哪个键).正是如此:
jenkins@alpm:~/jobs/test git/workspace$ git pull
Enter passphrase for key '/var/lib/jenkins/.ssh/id*_rsa':
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已按照信中的说明进行操作.问题是Jenkins作业失败并出现以下错误:
status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
当我输入密码短语时,这与我得到的错误相同(当然,詹金斯并没有问我密码短语).以下页面:
告诉我,ssh-agent可以帮助记住密码,当我使用自己的用户时,它会执行,但不是jenkins id.请注意,在以普通用户身份运行时会产生:
echo "$SSH_AUTH_SOCK"
/tmp/keyring-nQlwf9/ssh
Run Code Online (Sandbox Code Playgroud)
虽然运行与我的'jenkins'相同的命令但没有产生任何结果(甚至没有权限被拒绝)
我对这个问题的理解是没有记住密码.你有什么主意吗?我应该为jenkins用户启动ssh-agent或密钥环管理器?怎么样?或转发到同一台机器时ssh转发是否合适?有更明智的想法吗?
ps:我从来没有sudo gitted,我总是使用jenkins或我的用户帐户(如此SO帖子中提到的 - Ubuntu/GitHub SSH密钥问题)
我正在与流浪者和ansible一起工作.我想自动化ansible 的部署角色(你可以在这里查看我的repo).为此,我试图将我的本地ssh密钥部署到我的VPS和我的流浪客户机(我正在尝试SSH代理转发).
目标
使用ansible自动使用git进行部署过程.我已经这样做了:
---
- name: read-write git checkout from github
git: repo={{ repository }} dest=/home/site
Run Code Online (Sandbox Code Playgroud)
哪里:
---
# Variables here are applicable to all host groups
repository: git@bitbucket.org:dgnest/dgnest.git
Run Code Online (Sandbox Code Playgroud)
问题
当我做:"流浪汉提供",控制台停在这里:
TASK: [deployment | read-write git checkout from github] **********************
Run Code Online (Sandbox Code Playgroud)
那是因为我没有设置ssh密钥.
我试过了
我想使用ansible的git模块具有的key_file选项.但它也失败了.
---
- name: read-write git checkout from github
git: repo={{ repository }} dest=/home/site key_file=/home/oscar/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
另一个选择是将我的〜/ ssh/id_rsa.pub复制到每个VPS和vagrant中,但在这种情况下我的问题是处理所有不同的用户.Vagrant使用"vagrant"用户,而我的VPS使用其他用户,所以我不得不将ssh本地密钥放入这些用户中?
希望您能够帮助我.谢谢.
更新:
我刚刚自动化@leucos答案(谢谢).复制私有和公共rsa密钥.我与实现分享此链接.
我写了一个简单的脚本,每晚将svn活动日志邮寄给我们的开发人员.到目前为止,我已经在与svn存储库相同的机器上运行它,所以我不必担心身份验证,我可以使用svn的file:///地址样式.
现在我在家用计算机上运行脚本,访问远程存储库,所以我不得不更改为svn + ssh://路径.使用ssh-key很好地设置,我不需要在正常情况下输入访问svn存储库的密码.
但是,crontab无法访问我的ssh-keys/ssh-agent.我已经在网上的几个地方读到了这个问题,这里也提到了这个问题,没有解决方案:
我的解决方案是将其添加到脚本的顶部:
### TOTAL HACK TO MAKE SSH-KEYS WORK ###
eval `ssh-agent -s`
Run Code Online (Sandbox Code Playgroud)
这似乎适用于MacOSX 10.6.
我的问题是,这有多糟糕,还有更好的方法吗?
我需要将SSH公钥发送给我的一个客户,但我不太清楚如何做到这一点.我已经在我的计算机上创建了一个SSH密钥对,但现在我卡住了.
我最近设置了一个内部git存储库服务器,并将其作为管理工具安装并运行gitosis.只读访问可通过git://协议获得,写访问可通过gitosis使用ssh公钥获得.
我有一个开发人员,他的桌面工作站上生成的公钥被授予访问他的项目的权限.
他现在想要使用相同的ssh密钥对从他的笔记本电脑访问该存储库.他被复制了.ssh文件夹完全包含在他的笔记本电脑中,并试图从存储库中克隆而没有成功.
这是一个有效的尝试吗?
是否需要为每台机器生成一个ssh密钥对?这看起来很奇怪,因为它实际上需要将每台机器用户名添加到gitosis配置中.
任何帮助,将不胜感激.
我能够通过命令提示符成功创建密钥并按照这些说明连接到github:
https://help.github.com/articles/generating-ssh-keys
但是,当我尝试通过Sourcetree和putty连接时,我不能.我试过了:
我也尝试打开从github命令行指令生成的密钥,它希望我将它转换为我做过并保存的putty类型密钥,尝试使用该密钥.也没有运气.
我究竟做错了什么?
在GitHub上,我想添加一个密钥以将我的计算机与我的帐户关联,我有两个选择:创建SSH或GPG密钥.
两把钥匙有什么区别?是否有一个首选使用?
我理解如何通过遵循网站上的指南来创建两者,但我不知道哪一个更好用.
fetch今天,当我尝试从/pull到push我常用的 GitHub 存储库时,我最近收到以下错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Host …Run Code Online (Sandbox Code Playgroud) 在我的私有github仓库中添加了RSA部署密钥,但是当我将其添加到我的OpsWorks rails应用程序(将公钥粘贴到"Repository SSH Key"字段中)并尝试保存时,我收到错误消息"请提供有效SSH密钥".
密钥是使用ssh-keygen默认值生成的(RSA 2048,没有密码).
不知道还有什么可能是错的.