Comment envoyer mes clés publiques au serveur EC2?

9

J'ai besoin d'envoyer une clé publique à un EC2, sans utiliser les commandes ec2- * api, et je ne peux pas.

J'ai essayé scp et ssh-copy-id, mais booth ne peut pas utiliser le paramètre -i pour se connecter à l'aide des paires de clés.

Le paramètre ssh-copy-id -i est le fichier (clé publique) à envoyer.

Que puis-je faire pour le télécharger?

TiagoGouvea
la source
scp prend en charge -i. Quelle commande avez-vous essayé d'exécuter et quelle est la sortie?
dfranke
Je ne sais pas non plus exactement ce que vous essayez de faire. Essayez-vous de lancer une instance avec une clé ssh que vous avez générée localement, ou avez-vous une instance déjà en cours d'exécution sur laquelle vous essayez d'installer une deuxième clé?
dfranke
dfranke. Je peux me connecter à l'instance à ce moment, en utilisant ssh -i file.pem. Mais j'ai besoin de faire un cron dans le côté client avec rsync, alors, je dois avoir un accès sans authentification.
TiagoGouvea
Je crée les clés publiques côté client mais je ne peux pas les envoyer au serveur. C'est le seul problème. Comment envoyer mes clés publiques du client au serveur. :( Je pense que c'est simple, mais pour le moment je ne peux pas.
TiagoGouvea
@TiagoGouvea scpprend en charge -i. Vous pouvez l'utiliser comme scp -i your_pem.pem your_file user@aws_ip:/home/user/. Vous obtenez probablement une erreur en raison de vos autorisations sur votre fichier pem. Cela devrait être 400(ie chmod 400 your_pem.pem)
guleria

Réponses:

10

D'accord! J'ai trouvé un moyen.

Côté client:

cat ~ / .ssh / id_rsa.pub | ssh -i aws.pem ubuntu @ ip_address "cat - >> ~ / .ssh / authorized_keys2"

Terminé!

TiagoGouvea
la source
Quel est le problème réel que vous essayez de résoudre qui vous amène à penser que c'est la façon de le résoudre?
bobmagoo
Le problème que cela a résolu pour moi est de vouloir une ligne unique pour obtenir ma clé de pub locale dans une instance EC2 nouvellement configurée authorized_keys. Évite de faire un scp puis de se connecter via pem et de le mettre au bon endroit.
ljs.dev