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

时间:2019-05-08 14:06:01

标签: windows ssh git-bash

当我尝试通过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 passphtase for key 'c/Users/name/.ssh/id_rsa'

用户名密码又长又复杂,因此理想情况下,我总是希望只使用ssh密钥。

当前设置有效,除了随机询问用户名密码而不是关键字的情况。

更新:

根据VonC,我运行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
samplename@serverbox.net'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本身可能有问题吗?还是服务器上的配置问题?

1 个答案:

答案 0 :(得分:0)

尝试多次ssh -Tvv remoteservername,以查看成功的会话与默认返回用户密码的会话之间是否有任何区别。

仔细检查您的PATH,看问题是否在使用简化的PATH(as in here)启动的会话中仍然存在