【发布时间】:2011-05-24 05:37:29
【问题描述】:
每次我尝试将任何内容推送到 GitHub 时,它都会询问我的地址 git@github.com:...,然后它需要密码。有没有办法实现自动化?
我正在使用 Linux Ubuntu。
【问题讨论】:
-
再给我们一些信息:你是否将 github 添加为远程?你怎么称呼
git push?该命令的确切输出是什么?
每次我尝试将任何内容推送到 GitHub 时,它都会询问我的地址 git@github.com:...,然后它需要密码。有没有办法实现自动化?
我正在使用 Linux Ubuntu。
【问题讨论】:
git push?该命令的确切输出是什么?
您可以使用ssh-agent 来记住您的密码(Gnome 会自动为您运行此密码,通常...)。
$ ssh-agent bash
$ ssh-add
Enter passphrase for /home/elyobo/.ssh/id_rsa:
Identity added: /home/elyobo/.ssh/id_rsa (/home/elyobo/.ssh/id_rsa)
从现在开始,在您运行此程序的终端中,您的密码将被记住。
理想情况下,您应该让它自动运行,这样在 gnome 中运行的所有 shell 都可以运行;查看Gnome Keyring。
【讨论】:
ssh -A 转发密钥(查找手册页)并使用桌面上的 ssh-agent 来处理密码,它将保存您需要付出一些努力(如果您打开它们,可以在多个终端中工作)。我原以为你可以只运行git push 或其他东西,但我对 git 不是很熟悉,只是 SSH :)
这是因为您使用的是 HTTPS(类似于 https://github.com/felipelalli/private.git)而不是 SSH(类似于 git@github.com:felipelalli/private.git)。
如果需要克隆 SSH,然后按照以下步骤授权您的机器:https://help.github.com/articles/generating-ssh-keys
【讨论】:
另一种使用ssh-agent 和ssh-add 命令将您的私人身份添加到身份验证代理的方法。
$ eval "$(ssh-agent -s)"
Agent pid 1174
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/james/.ssh/id_rsa:
Identity added: /home/james/.ssh/id_rsa (/home/james/.ssh/id_rsa)
【讨论】: