Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使在Git中指定了一个键X,Ubuntu也会不断弹出一个屏幕,要求输入另一个键Y';密码。为什么?_Git_Ubuntu_Ssh - Fatal编程技术网

即使在Git中指定了一个键X,Ubuntu也会不断弹出一个屏幕,要求输入另一个键Y';密码。为什么?

即使在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)。如果我拒绝提供密钥,它仍然以某种方式正确

我目前正在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
)。如果我拒绝提供密钥,它仍然以某种方式正确执行克隆,但我不明白为什么会发生这种情况。似乎总是默认尝试使用我的默认密钥,只有在之后才会尝试使用
~/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密码屏幕。我正在试图理解为什么它首先被调用!