SSH 要求输入用户密码而不是 ssh 密钥密码?

SSH 要求输入用户密码而不是 ssh 密钥密码?

当我尝试通过 ssh 连接到远程服务器时,有时我的终端会要求我输入用户名密码,有时要求我输入 ssh 密钥密码。这是正常的吗?我怎样才能让它始终只要求输入 ssh 密钥密码?

我在 Windows 上使用 Gitbash。我使用配置文件来指定主机。

我的配置文件设置如下:

Host remoteservername
    Hostname serverbox.net
    User samplename
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes

然后通过 ssh 登录我正在做的事情:

ssh remoteservername

有时我会收到这样的回复:

samplename@remoteservername's password: 

其他时候我会得到我想要的密码请求:

Enter passphrase for key 'c/Users/name/.ssh/id_rsa'

用户名密码很长而且很复杂,所以我理想情况下希望始终只使用 ssh 密钥。

当前设置有效,除了它随机要求输入用户名密码而不是关键短语时。

我运行了 ssh -Tvv 并比较了成功返回和错误返回的日志。大多数日志直到最后都是相同的。导致要求输入用户名密码的尝试有以下几行:

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
[email protected]'s password:

正确的响应将返回以下几行:

debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
debug2: input_userauth_pk_ok: fp SHA256:{KEY HERE}
Enter passphrase for key '/c/Users/name/.ssh/id_rsa':

这可能是我的 ssh 本身的问题吗?还是服务器的配置问题?

相关内容