1: Existe-t-il un moyen de se connecter à une instance AWS sans utiliser de paires de clés? Je souhaite configurer plusieurs sites/utilisateurs sur une seule instance. Cependant, je ne souhaite pas donner de paires de clés aux clients pour qu'ils se connectent.
2: Quel est le moyen le plus simple de configurer des sites/utilisateurs d'hébergement dans une instance AWS avec différents domaines pointant vers des répertoires distincts?
1) Vous devriez pouvoir changer la configuration de ssh (sous Ubuntu, c’est typiquement dans /etc/ssh
ou /etc/sshd
) et réactivez les connexions par mot de passe.
2) AWS n'a rien de vraiment spécifique à ce sujet - Apache peut gérer les VHOSTS (hôtes virtuels) prêts à l'emploi - vous permettant de spécifier qu'un certain domaine est desservi à partir d'un certain répertoire. Je Google que pour plus d'informations sur les détails.
Réponse à la question 1
Voici ce que j'ai fait sur un Ubuntu EC2
:
A) Connectez-vous en tant que root à l'aide des paires de clés
B) Configurez les utilisateurs nécessaires et leurs mots de passe avec
# Sudo adduser USERNAME
# Sudo passwd USERNAME
C) Modifier /etc/ssh/sshd_config
réglage
PasswordAuthentication yes
PermitRootLogin yes
D) Redémarrez le démon ssh
avec
# Sudo service ssh restart
changez simplement ssh en sshd si vous utilisez centOS
Vous pouvez maintenant vous connecter à votre ec2
instance sans paire de clés.
Je suis venu ici via Google à la recherche d'une réponse sur la manière de configurer Cloud Init pour ne pas désactiver PasswordAuthentication sur AWS. Les deux réponses ne répondent pas au problème. Sans cela, si vous créez une AMI, alors l'initialisation d'instance en nuage désactivera à nouveau cette option.
La méthode correcte pour ce faire consiste à remplacer sshd_config manuellement le réglage de cloud init (outil Open Source utilisé pour configurer une instance lors de la mise en service. Pour en savoir plus, rendez-vous à l'adresse: https: //cloudinit.readthedocs. org/fr/latest / ). Le fichier de configuration de cloud init se trouve à l’adresse: /etc/cloud/cloud.cfg
Ce fichier est utilisé pour configurer une grande partie de la configuration utilisée par cloud init. Lisez ce fichier pour voir des exemples d'éléments que vous pouvez configurer sur cloud-init. Cela inclut des éléments tels que le nom d'utilisateur par défaut sur une instance nouvellement créée)
Pour activer ou désactiver la connexion par mot de passe via SSH, vous devez modifier la valeur du paramètre ssh_pwauth. Après avoir modifié le paramètre ssh_pwauth de 0 à 1 dans le fichier /etc/cloud/cloud.cfg, créez une AMI. Si vous lancez à partir de cette AMI nouvellement cuite, l'authentification par mot de passe sera activée après le provisionnement.
Vous pouvez le confirmer en vérifiant la valeur de PasswordAuthentication dans la configuration ssh, comme indiqué dans les autres réponses.
Récemment, AWS a ajouté une fonctionnalité appelée Sessions Manager au service Systems Manager, qui permet de SSH dans une instance sans avoir à configurer de clé privée ni à ouvrir le port 22. Je pense que l'authentification est réalisée avec IAM et éventuellement MFA.
Vous pouvez en savoir plus à ce sujet ici:
su - root
Aller à /etc/ssh/sshd_config
vi sshd_config
PermitRootLogin yes
PermitEmptyPasswords no
PasswordAuthentication yes
:X!
Puis redémarrez le service ssh
root@cloudera2:/etc/ssh# service ssh restart
ssh stop/waiting
ssh start/running, process 10978
Allez maintenant aux fichiers sudoers (/ etc/sudoers).
root ALL=(ALL)NOPASSWD:ALL
yourinstanceuser ALL=(ALL)NOPASSWD:ALL / This is the user by which you are launching instance.
AWS a ajouté une nouvelle fonctionnalité permettant de se connecter à une instance sans aucun port ouvert, AWS SSM Session Manager. https://aws.Amazon.com/blogs/aws/new-session-manager/
J'ai créé un script soigné ProxyCommand SSH qui ajoute temporairement votre clé publique ssh à l'instance cible lors de la connexion à l'instance cible. La bonne chose à ce propos est que vous vous connecterez sans avoir à ajouter le port ssh (22) à vos groupes de sécurité, car la connexion ssh est tunnelée via le gestionnaire de session ssm.
AWS SSM SSH ProxyComand -> https://Gist.github.com/qoomon/fcf2c85194c55aee34b78ddcaa9e83a1