40 votes

comment se connecter à une machine ec2 ?

On m'a donné des informations de connexion pour une machine EC2, en gros un ec2-X-X-X.compute-X.amazonaws.com plus un nom d'utilisateur et un mot de passe.

Comment puis-je accéder à la machine ? J'ai essayé le sshing :

ssh username@ec2-X-X-X.compute-X.amazonaws.com

mais je reçois un Permission denied, please try again. lorsque je saisis le mot de passe. Le sshing est-il le bon moyen d'accéder à la machine EC2 ? (Les résultats de Google que j'ai trouvés suggéraient que vous pouviez vous connecter par ssh à la machine, mais ils utilisaient également des paires de clés). Ou est-il plus probable que le problème soit dû au fait que l'on m'a donné des informations d'identification invalides ?

42voto

Giuseppe Points 1264

Si vous êtes nouveau sur AWS et que vous avez besoin d'accéder à une toute nouvelle instance EC2 via ssh, gardez à l'esprit que vous devez également doivent autoriser le trafic entrant sur le port 22.

En supposant que l'instance EC2 a été créée en acceptant toutes les suggestions par défaut de l'assistant, l'accès à la machine sera protégé par l'attribut default groupe de sécurité, qui interdit essentiellement tout trafic entrant. Ainsi :

  1. Allez dans la console AWS
  2. Choisissez Security Groups dans le volet de navigation de gauche
  3. Choisissez default du volet principal (il peut s'agir du seul élément de la liste)
  4. Dans le volet inférieur, choisissez Inbound entonces Create a new rule : SSH
  5. Cliquez sur Add rule et ensuite Apply Rule Changes

Ensuite, en supposant que vous êtes en possession de la clé privée, faites ce qui suit :

$ chmod 600 path/to/mykey.pem
$ ssh -i path/to/mykey.pem root@ec2-X-X-X.compute-X.amazonaws.com

Mon instance EC2 a été créée à partir d'une image Ubuntu 32-bit 12.04, dont la configuration ne permet pas l'accès ssh à Root, et vous demande de vous connecter en tant que ubuntu à la place :

$ ssh -i path/to/mykey.pem ubuntu@ec2-X-X-X.compute-X.amazonaws.com

Santé, Giuseppe

0 votes

C'est vraiment utile. Merci.

7voto

Notre AMI Amazon indique "Veuillez vous connecter en tant qu'utilisateur ec2-user plutôt qu'en tant qu'utilisateur Root", il semble donc que chaque image puisse avoir un utilisateur de connexion différent, par exemple.

ssh -i ~/.ssh/mykey.pem ec2-user@ec2-NN-NNN-NN-NN.us-foo-N.compute.amazonaws.com

En bref, essayez Root et il vous dira sous quel utilisateur vous devez vous connecter.

[Je suppose que vous n'avez pas les informations d'identification de la console de gestion AWS pour le compte, mais si vous les avez, vous pouvez naviguer dans le panneau EC2->Instances de la console de gestion AWS, faire un clic droit sur le nom de la machine et sélectionner "Connecter...". Une liste des options disponibles pour se connecter s'affichera. Vous aurez (ou devriez) avoir besoin d'une clé pour accéder à une instance via ssh. Elle devrait vous avoir été fournie, sinon il faudra peut-être la générer.

S'il s'agit d'une instance Windows, vous devrez peut-être utiliser la connexion Bureau à distance pour vous connecter à l'aide de l'IP ou du nom d'hôte, et vous aurez alors également besoin d'un identifiant et d'un mot de passe de compte Windows.

2voto

blackHoleDetector Points 1079

Le processus de connexion à une instance AWS EC2 Linux via SSH est couvert étape par étape (y compris les points mentionnés ci-dessous) dans le document suivant cette vidéo .

Pour corriger ce problème particulier avec SSH-ing à votre instance EC2 :

  1. La commande ssh que vous avez exécutée n'est pas dans le bon format. Elle devrait l'être :

    ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
  2. Remarque : vous devez avoir accès au fichier de clé privée (.pem) à utiliser dans la commande ci-dessus. AWS vous invite à télécharger ce fichier lorsque vous lancez votre instance pour la première fois. Vous devrez exécuter la commande suivante pour vous assurer que seul votre utilisateur Root a un accès en lecture à ce fichier :

    chmod 400 /path/to/yourKeyFile.pem
  3. En fonction de votre distribution Linux, l'utilisateur que vous devez spécifier lorsque vous exécutez ssh peut être l'un des suivants :

    • Pour Amazon Linux, le nom d'utilisateur est ec2-user.
    • Pour RHEL, le nom d'utilisateur est ec2-user ou Root.
    • Pour Ubuntu, le nom d'utilisateur est ubuntu ou Root.
    • Pour Centos, le nom d'utilisateur est centos.
    • Pour Fedora, le nom d'utilisateur est ec2-user.
    • Pour SUSE, le nom d'utilisateur est ec2-user ou Root.
    • Sinon, si ec2-user et Root ne fonctionnent pas, vérifiez auprès de votre fournisseur d'AMI.
  4. Vous devez activer un pare-feu SSH entrant. Cela peut être fait dans la section Groupes de sécurité d'AWS. Les détails complets de cette pièce se trouvent ici .

0voto

En effet, EC2 (Amazon Elastic Compute Cloud) ne permet pas par défaut l'authentification par mot de passe à ses instances (machines linux).

La seule méthode d'authentification autorisée est l'utilisation d'une clé SSH créée lors de la création de l'instance. Lors de la création, il est possible de télécharger la clé SSH une seule fois, donc si vous la perdez, vous devez la régénérer.

Cette clé SSH est uniquement destinée à l'utilisateur principal - généralement nommé

  • " ec2-user "(Amazon Linux, Red Hat Linux, SUSE Linux)
  • " root "(Red Hat Linux, SUSE Linux)
  • " ubuntu " (distribution Linux Ubuntu)
  • " fedora " (distribution Linux Fedora)

ou similaire (selon la distribution)

Voir les instructions de connexion : https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html

Si vous voulez ajouter un nouvel utilisateur, la méthode recommandée est de générer et d'ajouter une nouvelle clé SSH pour le nouvel utilisateur, mais sans spécifier de mot de passe (qui serait de toute façon inutile puisque l'authentification par mot de passe n'est pas activée par défaut).

Gestion des utilisateurs supplémentaires : http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html

Après tout, si vous voulez activer l'authentification par mot de passe, ce qui diminue la sécurité et n'est pas recommandé, mais vous pourriez quand même avoir besoin de le faire pour vos propres raisons, alors modifiez simplement

/etc/ssh/sshd_config

Par exemple : sudo vim /etc/ssh/sshd_config

trouver la ligne qui dit :

PasswordAuthentication no

et le changer en

PasswordAuthentication yes

Puis redémarrez l'instance

sudo reboot 

Après le redémarrage, vous êtes libre de créer des utilisateurs supplémentaires avec une authentification par mot de passe.

sudo useradd newuser
sudo passwd newuser

Ajouter le nouvel utilisateur à la liste des sudoers :

sudo usermod -a -G sudo newuser

Assurez-vous que le dossier personnel de l'utilisateur existe et qu'il appartient à l'utilisateur.

sudo mkdir /home/newuser
sudo chown newuser:newuser /home/newuser

Vous êtes maintenant prêt à essayer et à vous connecter avec newuser via ssh. L'authentification par clé ssh continuera à fonctionner en parallèle avec l'authentification par mot de passe.

0 votes

Le message suivant apparaît : restart : missing job name (redémarrage : nom de travail manquant)

0 votes

Essayer sudo reboot

0voto

Deepak Sharma Points 223

Pour cela, vous devez avoir une clé privée, comme keyname.pem.

Ouvrez le terminal en utilisant ctrl+alt+t.

changer la permission du fichier en 400 ou 600 en utilisant la commande chmod 400 keyname.pem ou chmod 600 keyname.pem

Ouvrez le port 22 dans le groupe de sécurité.

lancez la commande sur le terminal ssh -i keyname.pem username@ec2-X-X-X.compute-X.amazonaws.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X