web-dev-qa-db-fra.com

Demander à une instance Amazon EC2 de demander un mot de passe rapide

J'ai lancé une instance Amazon EC2 d'Ubuntu Server 12.04 et tout va bien, sauf que, contrairement à mon Ubuntu local, l'instance EC2 ne demande jamais de mot de passe lorsque je passe à la ligne de commande ou que je deviens root. j'ai essayé

passwd
# asks for a new password, I supply one
Sudo -i
# always makes me root right away
passwd
# asks for a new password, I supply one
passwd ubuntu
# asks for a new password, I supply one

(ubuntu est l'utilisateur par défaut avec lequel l'instance est installée.) Jusqu'à présent, événement après redémarrage, je n'ai pas remarqué de différence, il ne demande toujours aucun mot de passe.

Ce n'est pas un gros problème, mais je suppose que je viens juste de voir comment fonctionne mon Ubuntu local.

4
Desmond Hume

EC2 ne dispose pas d’un moyen facile de vous fournir un mot de passe sécurisé pour l’utilisateur ubuntu. Par conséquent, la valeur par défaut consiste à autoriser Sudo sans mot de passe après vous être connecté en toute sécurité à la clé privée ssh.

Si vous ajoutez un mot de passe à l'utilisateur ubuntu, vous pouvez l'exiger pour Sudo en modifiant /etc/sudoers.d/90-cloud-init-users et en modifiant:

ubuntu ALL=(ALL) NOPASSWD:ALL

à:

ubuntu ALL=(ALL) ALL

Cette commande effectue cette modification pour vous (en supposant un fichier sudoers par défaut non modifié):

Sudo Perl -pi -e 's%NOPASSWD:%%' /etc/sudoers.d/90-cloud-init-users

Pour des raisons de sécurité, conservez un shell distinct connecté en tant que root afin de pouvoir réparer le fichier et le récupérer si vous ne le modifiez pas correctement et que vous cassez Sudo.

Ajouter un mot de passe pour Sudo augmente la sécurité globale de votre système.

Il est toujours recommandé de ne pas autoriser l'utilisation d'un mot de passe pour les connexions SSH. Gardez cela limité aux clés privées ssh.

4
Eric Hammond