J'ai une fenêtre comme mon système d'exploitation principal. Utilisation de VMware Player, j'ai configuré un serveur Ubuntu 12.4 en tant que machine invité. Le serveur Ubuntu a un utilisateur "Ubuntu".
J'ai créé une nouvelle instance EC2 + SETUP PEM PEM. De la machine Windows, lorsque j'utilise Puty + Pem Touche - je peux ssh.
J'ai ajouté la clé PEM à mon serveur VMware Ubuntu (/home/ubuntu/.ssh/) en plus, je définit les autorisations suivantes: chmod 700 /home/ubuntu/.ssh
chmod 600 /home/ubuntu/.ssh/*
À travers le serveur Ubuntu, j'ai essayé de ssh à l'instance EC2 sans succès: ssh ubuntu@EC2_IP Permission denied (publickey)
. Si j'utilise explicite la touche PEM, cela fonctionne: ssh -i /home/ubuntu/.ssh/NAME.pem ubuntu@EC2_IP
- Veuillez noter que je dois utiliser le chemin direct vers la clé, sinon, je vais obtenir Warning: Identity file NAME.pem not accessible: No such file or directory. Permission denied (publickey).
S'il vous plaît donnez votre avis. Merci!
Ajoutez la touche PEM EC2 à SSH
ssh-ajouter ~/.ssh/key_pair_name.pem
Par défaut, le client SSH recherchera des clés nommées id_rsa
, id_dsa
et id_ecdsa
dans ~/.ssh/
. Si votre clé n'est pas nommée comme si vous avez besoin de la spécifier sur la ligne de commande avec -i
Comme vous l'avez fait, ou spécifiez-le dans la configuration du client.
Vous pouvez ajouter quelque chose comme ça à ~/.ssh/config
Pour sélectionner automatiquement cette clé quand un assosse à EC2:
Host *.compute-1.amazonaws.com
IdentityFile ~/.ssh/ec2_rsa
Comment nommez-vous votre clé privée? Il devrait avoir un nom de fichier id_rsa par défaut (renommer le fichier PEM à /home/ubuntu/.ssh/id_rsa)
Vous pouvez utiliser ssh-agent
et ssh-add
Pour éviter de spécifier la clé privée explicitement.
Vous pouvez mettre les commandes dans votre .profile
ou .bashrc
Donc, ils sont exécutés chaque fois que vous vous connectez. Vous pouvez trouver un exemple de script de démarrage au bas de ce post .
Le client SSH cherche identify file
Basé sur le jeu de configuration dans /etc/ssh/ssh_config
. Vous pouvez donc spécifier le fichier d'identité et rappelez-vous que vous pouvez avoir plusieurs fichiers d'identité répertoriés dans le fichier de configuration du client SSH. De la page homme SSH -
-i identity_file
Selects a file from which the identity (private key) for public key authentication is read. The default is ~/.ssh/identity
for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and ~/.ssh/id_rsa for protocol version 2. Identity files may also
be specified on a per-Host basis in the configuration file. It is possible to have multiple -i options (and multiple identiâ
ties specified in configuration files).
Pour la clé RSA, par exemple, l'emplacement par défaut est ~/.SSH/ID_RSA. Comme l'a suggéré Andrei Mikhaltsov, vous pouvez placer votre clé privée dans/home/ubuntu/ssh/id_rsa et pourra vous connecter sans le spécifier à la ligne de commande. Si ce nom de fichier existe déjà et contient une autre clé privée, vous pouvez toujours personnaliser votre fichier de configuration client SSH sur le paramètre IdentityFile
.