J'ai besoin d'un accès SSH à une instance Amazon EC2 exécutant Ubuntu 10.4. Tout ce que j'ai, c'est le nom d'utilisateur et le mot de passe Amazon. Des idées?
Réponses:
Fondamentalement, vous avez besoin d'un fichier de clé privée pour vous connecter à votre EC2 via SSH. Suivez ces étapes pour en créer un:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- le nom d'utilisateur racine a été évité dans les dernières versions, en fonction de votre sélection de distribution ec2-user
ou ubuntu
de votre nom d'utilisateur.ubuntu
login au lieu de root
. Apparemment, j'ai une instance du serveur ubuntu 12.04.
ec2-user
ou peut ubuntu
- être , mais pas root
.
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
utilisez simplement à la ubuntu
place de root
. Votre problème sera résolu. À votre santé!
ÉTAPE 1) Téléchargez les clés privées attribuées à votre machine ec2 (ce qui n'est qu'un téléchargement une fois créé. Il est donc recommandé de valider quelque part)
ÉTAPE 2) et déclencher les commandes suivantes,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Document officiel : Connexion à vos instances Linux / Unix à l'aide de SSH
Vous devez d'abord créer une paire de clés - faites-le à l'aide de votre console EC2. Ensuite, utilisez votre clé privée pour SSH dans le serveur (le nom d'utilisateur estec2-user
) en utilisant un client SSH de votre choix.
Une fois dedans, vous pouvez lancer un sudo su -
pour gagner la racine si vous voulez (note: vous ne pouvez pas vous connecter directement en tant que root).
Si vous utilisez MacOS, vous devez créer / modifier le fichier de configuration SSH (~ / .ssh / config) et mettre quelque chose comme:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
Ensuite, pour vous connecter à l'une des instances EC2:
ssh MYNAME.amazonaws.com
Rien de plus!
Pour configurer Ubuntu sur AWS, veuillez suivre les étapes suivantes:
Pour accéder à l'instance via SSH, exécutez:
Connectez-vous à Linux box en spécifiant votre fichier PEM, par exemple
ssh -i "file.pem" ubuntu@x.x.x.x
Assurez-vous que votre fichier PEM dispose d'une autorisation 600 ( chmod 600 file.pem
).
Si vous exécutez une instance de VPC et que votre groupe de sécurité est correct (avec les bonnes règles) et qu'il ne fonctionne toujours pas, dans la section VPC , vérifiez votre sous-réseau qui doit être attaché à votre VPC (tous deux utilisés par votre instance) et configurez-le nouvelle règle dans la table de routage qui a 0.0.0.0/0
comme destination et votre passerelle Internet comme cible .
Pour plus de détails, consultez: Dépannage de la connexion à votre instance
Voir aussi: Raisons possibles du délai d'expiration lors de la tentative d'accès à l'instance EC2
1) Tout d' abord chmod
la .pem file
pour restreindre le fichier permissons comme ci - dessous
chmod 400 my-key-pair.pem
2) Puis
ssh
avec les commandes suivantes directement depuis le .ssh
dossier
ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
Remarque: - Pour naviguer dans le .ssh
dossier. Appuyez d'abord sur Ctrl + H
pour afficher tous les fichiers cachés et enfincd .ssh
Le problème peut être de ne pas vous connecter en tant qu'utilisateur approprié pour votre OS Distro. Pour certaines nouvelles AMI, le nom d'utilisateur peut ne pas être "ubuntu", mais "ec2-user". Pour Amazon Linux, par exemple, je pense que l'utilisateur est "ec2-user". Eric Hammond donne des exemples ici: http://alestic.com/2014/01/ec2-ssh-username
Ma suggestion, essayez:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
Si vous avez la mauvaise AMI, vous voudrez peut-être simplement redémarrer complètement la machine pour obtenir l'uniformité entre vos clusters. Si c'est votre problème, vous voudrez probablement les mêmes OS Distro au moins pour vos boîtiers Linux.
Faire ce qui est suggéré dans toutes ces réponses ne suffit pas. Contre chaque instance, vous voyez un groupe de sécurité. Lorsque vous lancez une nouvelle instance, cette chose sera définie par défaut. Vous devez modifier le groupe de sécurité et y ajouter le port ssh. Plus tard, vous devrez ajouter les ports 8080, 8443, 80, 443 également lorsque vous souhaitez héberger votre site Web.
J'ai accepté l'offre d'AWS d'utiliser les groupes de sécurité par défaut qui incluaient les ports «All Trafic».
Et, après avoir essayé maintes et maintes fois de me connecter sur ma nouvelle instance ec2, je viens de réaliser que je devrais modifier mon groupe de sécurité utilisé et ajouter manuellement aux ports entrants et sortants 22 (ssh)!
J'espère que ça aide !
Première modification de l'autorisation du fichier pem par
chmod 400 path/to/key_pair.pem
Dans le fichier ~ / .ssh / config, ajoutez les lignes suivantes, en haut du fichier
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
Le nom d'hôte prend l'adresse IP ou le lien du serveur, l'utilisateur prend le nom d'utilisateur du serveur et le fichier d'identité est un fichier téléchargé depuis AWS lorsque vous avez créé l'instance. Exécutez simplement la commande suivante dans le terminal
ssh AWS
et profitez-en!
Remarque : pour naviguer dans le .ssh
dossier. Appuyez d'abord sur Ctrl + H
le dossier d'accueil pour afficher tous les fichiers cachés et enfincd .ssh
Assurez-vous que ces choses sont vérifiées
la clé privée doit avoir l'autorisation 400
Assurez-vous que le port 22 est ouvert pour l'instance AWS à laquelle vous essayez d'accéder.
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX = IP publique de votre instance