当 ssh-d 进入机器时,ssh 密钥的正确密码被拒绝

当 ssh-d 进入机器时,ssh 密钥的正确密码被拒绝

当我直接登录到我的机器时,我可以执行所有 git 操作,并且当提示输入密码时,密码会被接受。当我通过 ssh 进入同一个机器并在同一个存储库上运行 git 操作时,密码会被拒绝。

.ssh/config 的相关部分如下所示:

# Generic settings
Host *
    ServerAliveInterval 600
    ControlPath /tmp/ssh-%r@%h:%p
    ControlMaster auto
    KeepAlive yes
    IdentityFile ~/.ssh/id_rsa.pub

当我通过 ssh 登录到我的盒子时,交易看起来是这样的:

{12-12-03 9:41}hbrown-wks2:~/workspace/spt/project@master✗✗✗ hbrown% git pull
Enter passphrase for key '/home/hbrown/.ssh/id_rsa.pub': 
Enter passphrase for key '/home/hbrown/.ssh/id_rsa.pub': 
Enter passphrase for key '/home/hbrown/.ssh/id_rsa.pub': 
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

使用 bash 似乎没有什么区别(即ssh-agent /bin/bash)。

这是最近的发展,但我无法指出导致这一变化的原因。

答案1

您指的是密码短语(与公钥加密一起使用)还是密码?甚至不会要求您输入密码。如果您除了密码短语之外还希望接受密码,您可能需要类似以下内容:

PreferredAuthentications 公钥,键盘交互,密码

在你的ssh_配置

此外,IndentityFile 不是应该是私钥而不是公钥吗?

相关内容