用户正在执行以下操作:
$ ssh -i /Users/user1/key.pem centos@10.12.10.10
尝试访问时收到的错误消息如下:
$ ssh -i /Users/user1/key.pem centos@10.12.10.10
centos@10.12.10.10 : Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
答案 0 :(得分:5)
AWS支持人员提出了针对此特定问题的新颖解决方案,我感到不得不在这里分享它,因为我以前从未见过。过去,大多数同事使用的方法都是围绕实例停止操作,然后将附加到该实例的EBS卷作为辅助卷安装到另一个EC2实例,然后根据需要安装和编辑它。
这些方法介绍了传统方法:
对我来说,这种新方法是利用#userdata
来使一系列命令在EC2实例启动时运行。
#cloud-config
bootcmd:
- [ chmod, 700, /home/centos ]
- [ chmod, 700, /home/centos/.ssh ]
- [ chmod, 600, /home/centos/.ssh/* ]
- [ chmod, 600, /etc/ssh/ssh_host_*_key ]
- [ chmod, 711, /var/empty/sshd ]
- [ chmod, 600, /home/centos/.ssh/authorized_keys ]
- [ sh, -c, "chown -R centos:centos /home/centos" ]
实例重新启动后,尝试通过ssh
访问实例。