我们公司正在使用git进行源代码控制,在我的机器上,我可以推送和拉到服务器,每次都不需要输入密码,但是我的一个同事不得不重复输入密码,这非常恼人,有人知道如何解决这个问题吗?
提前感谢
编辑:我们没有使用github,而且我们已经在git用户主目录下.ssh文件夹的authorized_keys文件中拥有了所有用户的ssh公钥。我没有为我的计算机做任何特殊的事情,只是像其他计算机一样添加了ssh密钥,但我是唯一一个不需要重复输入密码的人
发布于 2011-07-19 09:44:55
这可能是通过在生成id_rsa密钥对时设置密码来完成的。在github上有一些关于如何设置密码的文档。如果您想在没有密码的情况下创建密钥对,请执行以下命令。
cd ~/.ssh
ssh-keygen -t rsa -C "youremail@example.com"在生成密钥时,当提示输入密码时,只需将其留空并按enter即可。
发布于 2011-07-19 10:31:42
这取决于它是要求输入密码还是口令短语。我猜是后者。在这种情况下,这意味着用于身份验证的密钥对是使用密码短语创建的。如果密钥对不用于任何其他用途,则可以安全地生成另一个密钥对并使用以下命令覆盖它
ssh-keygen然后按Enter键三次。如果您不想覆盖现有的,请让我知道,我将告诉您那里的选项。
然后,无论它最初是要求输入密码还是密码短语,您都需要将新密钥对的public部分(位于~/.ssh/id_rsa.pub )添加到要推送到的git服务器。如果它是一台gitosis或gitolite服务器,你必须将公钥提供给拥有管理权限的人,这样他们才能将其添加到服务器中。如果它只是一个普通的Linux机器,上面有一个普通的git代码库(可能不是),你可以使用
ssh-copy-id user@host这一次它会询问你的密码,但以后不会再要求你输入密码。
这应该涵盖了最可能的情况。如果看起来没有,请给我更多的细节,我应该能够帮助你。
发布于 2011-07-19 09:46:21
另一种选择是将密码保留在您的密钥上,但在会话期间使用ssh-agent来存储密码。
https://stackoverflow.com/questions/6741349
复制相似问题