问题
我在oracle cloud上创建实例的时候,只能使用密钥的方式登陆,当时下载了私钥文件。实例创建好以后,在mobaxterm上使用这个私钥文件无法登陆
排查
尝试使用mobaxterm的keygen,把私钥文件转成ppk格式,还是不行。
后来经过测试发现使用windows下的ssh命令可以登陆
ssh -i private-key-file username@x.x.x.x
登陆以后检查ssh的日志journalctl -u ssh
error: Received disconnect from x.x.x.x port 15673:14: No supported authentication methods available [preauth]
解决方案1
修改ssh的配置/etc/ssh/sshd_config
,允许密码登陆
PermitRootLogin yes
PasswordAuthentication yes
KbdInteractiveAuthentication yes
重启ssh服务sudo systemctl restart ssh
解决方案2
参考:https://unix.stackexchange.com/questions/721606/ssh-server-gives-userauth-pubkey-key-type-ssh-rsa-not-in-pubkeyacceptedalgorit
修改配置文件
PubkeyAcceptedAlgorithms +ssh-rsa
重启服务,然后mobaxterm使用密钥可以登陆
解决方案3
升级mobaxterm到21.5以上的版本