当我尝试通过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本身可能有问题吗?还是服务器上的配置问题?
答案 0 :(得分:0)
尝试多次ssh -Tvv remoteservername
,以查看成功的会话与默认返回用户密码的会话之间是否有任何区别。
仔细检查您的PATH,看问题是否在使用简化的PATH(as in here)启动的会话中仍然存在