即使在Git中指定了一个键X,Ubuntu也会不断弹出一个屏幕,要求输入另一个键Y';密码。为什么?
我目前正在Java应用程序中运行Git命令,如下所示:即使在Git中指定了一个键X,Ubuntu也会不断弹出一个屏幕,要求输入另一个键Y';密码。为什么?,git,ubuntu,ssh,Git,Ubuntu,Ssh,我目前正在Java应用程序中运行Git命令,如下所示: bash -c GIT_SSH_COMMAND='ssh -i ~/secret/other_key' git clone ssh_repo . 我使用GIT\u SSH\u命令运行它,这样我就可以强制GIT使用特定的密钥,避免它试图获取我机器中常用的密钥 我面临的问题是,出于某种原因,Ubuntu似乎仍然会弹出一个屏幕,询问我个人密钥的密码(而不是我要传递的~/secret/other_key)。如果我拒绝提供密钥,它仍然以某种方式正确
bash -c GIT_SSH_COMMAND='ssh -i ~/secret/other_key' git clone ssh_repo .
我使用GIT\u SSH\u命令运行它
,这样我就可以强制GIT使用特定的密钥,避免它试图获取我机器中常用的密钥
我面临的问题是,出于某种原因,Ubuntu似乎仍然会弹出一个屏幕,询问我个人密钥的密码(而不是我要传递的~/secret/other_key
)。如果我拒绝提供密钥,它仍然以某种方式正确执行克隆,但我不明白为什么会发生这种情况。似乎总是默认尝试使用我的默认密钥,只有在之后才会尝试使用~/secret/other_key
另外,我知道该命令实际上是在选择正确的密钥,因为在只有other_key
可用的远程服务器上运行时,它似乎工作正常
有什么可以解释这种行为吗?我真的很想避免这样做,因为总是被问到密码是很麻烦的(顺便说一句,当我通过命令行运行
git
命令时不会发生这种情况)。只需将-v
添加到git\u SSH\u命令中:
bash -c GIT_SSH_COMMAND='ssh -vi ~/secret/other_key' git clone ssh_repo .
您将确切地看到实际使用的键
确保“ssh\u repo”是实际的ssh URL(
git@github.com:group/repo
,例如)只需将-v
添加到GIT\u SSH\u命令:
bash -c GIT_SSH_COMMAND='ssh -vi ~/secret/other_key' git clone ssh_repo .
您将确切地看到实际使用的键
确保“ssh\u repo”是实际的ssh URL(
git@github.com:group/repo
,例如)@SaurabhPBhandari:Hi,我不打算禁用Ubuntu的SSH密码屏幕。我正在试图理解为什么它首先被调用@SaurabhPBhandari:嗨,我不打算禁用Ubuntu的SSH密码屏幕。我正在试图理解为什么它首先被调用!