今天测试 AWS EC2搭建shadowsock,创建好EC2实例并下载好.pem格式的密钥,在用Putty连接这个实例的时候,报下面的错误:

最初以为是从.pem格式转换成.ppk过程中出现的问题,(AWS创建默认LINUX/UNIX实例的时候,默认生成原始密钥(raw key),不能被putty直接识别,需要转换成.ppk格式。)多次用puttygen.exe重新生成.ppk格式的密钥,仍然同样的错误。同时登录了 AWS 账户,验证是否使用了正确的私有密钥:
如果您正在使用 PuTTY:
验证私有密钥 (.pem) 文件是否已转化为可被 PuTTY 识别的格式 (.ppk)。
后来发现是在登录的时候预设了用户名导致了这个问题,见下图

所以ec2-user并非是所有实例的默认用户,虽然并未验证所有的IAM,至少ubuntu默认用户名不是,后来用ubuntu登录成功。
总结:
No supported authentication methods available (server sent :publickey)
这个错误可能由两个原因导致:
错误的连接用户名。
2.无效或者错误的私钥。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11289933/viewspace-2718399/ ,如需转载,请注明出处,否则将追究法律责任。