AMI实例忘记设置SSH密码登录,如何解决?

0

我用root设置了可以用ssh密码登录,制作了AMI然后创建新的实例,新的实例是不支持ssh密码登录的,需要在root重新改下。请问有什么办法可以让AMI不用重新设置ssh密码登录?

profile picture
EXPERTE
gefragt vor 2 Monaten43 Aufrufe
2 Antworten
0

首先我们不建议客户用密码登录,不是最佳实践,然后这个问题靠user data解决,比如这样https://github.com/Cloud-Yeti/aws-ec2-course/blob/master/labs/lab07-ec2-userdata-ssh-with-password.MD

profile picture
EXPERTE
beantwortet vor 2 Monaten
0

您好,

这个问题是因为新建实例时,操作系统中的 cloud-init 套件会依照 cloud.cfg 的配置进行初始化,因此出现新实例与旧实例的配置不同的状态。所以如果您想要从 AMI 启动实例不会覆盖 sshd_config 的配置,您会需要在创建 AMI 前就先改好 cloud.cfg 的配置,然后才创建 AMI。

/etc/cloud/cloud.cfg 有两种改法提供给您参考:

  1. ssh_pwauth 默认参数是 0(false), 这会让操作系统 launch 时把 /etc/sshd/sshd_conf 中的 "PasswordAuthentication" 设定成 no。您可以改成1,这样实例启动就会把 "PasswordAuthentication" 改成 yes。如下:

ssh_pwauth: 1

  1. 直接把这个参数注解掉,这样的话实例 launch 的过程中就不会去修改 /etc/sshd/sshd_conf 中的 "PasswordAuthentication" 变项,原来的配置是什幺就是什幺。 如下:

ssh_pwauth: 0

您也可以透过以下连结进一步了解 cloud-init

[+] Amazon Linux - cloud-init - https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#amazon-linux-cloud-init

最后基于安全性考量, 不建议您开放使用root作为预设登入帐号,

root作为超级使用者,平常应避免使用。

AWS
Harry H
beantwortet vor 2 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen