已经在远程服务器上配置了密钥文件可登录,但在使用SSH命令行登录时,却提示要求输入密码。这可能是由于本地和服务器的SSH版本不同,导致密钥和算法不兼容。
为了解决这个问题,可以在使用SSH命令时添加-o
参数来指定算法。例如:
ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -o HostkeyAlgorithms=+ssh-rsa -i '/Users/mymac/.ssh/id_rsa' zndev@123.57.20.71
在上述命令中,-o
参数后面的PubkeyAcceptedKeyTypes=ssh-rsa
指定了使用RSA算法进行密钥认证。你可以根据实际情况替换为适合你的密钥算法。
另外,确保你的本地SSH客户端和远程服务器的SSH服务都是最新版本,以确保兼容性。
如果问题仍然存在,可能需要检查密钥文件的权限是否正确设置,以及服务器的SSH配置是否正确,还可以尝试重新生成密钥对,并将公钥添加到服务器的authorized_keys
文件中。确保在添加公钥时没有发生任何格式错误。
另外,如果你使用的是Windows系统,可以尝试使用其他SSH客户端,如PuTTY或Git Bash,看是否能够成功登录。
评论区