避免在 ubuntu 中提示 git 命令的密码



我已经在我的 ubuntu 服务器中设置了 ssh,我已经安装了 git。所以,我把我的阴镰匙附加到~/.ssh/authorized_keys 安装了 git 的服务器的文件。我可以从我的本地 pc 使用任何 git 命令(我的公钥粘贴在 ~/.ssh/authorized_keys 中)

然而,我只是想知道如何避免每次使用 git 命令时输入密码。这样我就可以避免每次都输入密码。谢谢

来自 https://askubuntu.com/questions/362280/enter-ssh-passphrase-once 的响应

更新:似乎是 13.10 中的错误:

https://bugs.launchpad.net/ubuntu/+source/libpam-ssh/+bug/1247169

无论如何,运行以下命令,问题已为我解决: 如何修复

我通过输入以下命令修复了此问题:

$ ssh-agent bash

这将创建一个新的 bash 进程,允许您添加私钥。 添加新的私钥时,系统将提示您输入密码 一次,而且只有一次。

然后:

$ ssh-add /home/username/.ssh/id_rsa Enter passphrase for /home/username/.ssh/id_rsa:  Identity added:
/

home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)

。其中用户名是您的用户名。您可以使用$USER执行相同的操作 变量:

$ ssh-add /home/$USER/.ssh/id_rsa

问题已解决。

重复:

Git 为每次推送输入长密码

Git 一直问我要我的 ssh 密钥密码

编辑

我知道的唯一方法是使用expect

#!/usr/bin/expect -f
set timeout -1
spawn ssh -o PubkeyAuthentication=no host.example.com
expect -exact "Password: "
send -- "secretr"
expect {$s*} { interact }

并且可能处理 ssh-config 的 ProxyCommand 或使用更复杂的 python 版本,并允许将凭据保存在配置文件中。

请注意 - 唯一可接受的解决方案(安全和方便)是基于 ssh 密钥的身份验证。

最新更新