Wie sende ich meine öffentlichen Schlüssel an den EC2-Server?

9

Ich muss einen öffentlichen Schlüssel an einen EC2 senden, ohne die Befehle ec2- * api zu verwenden, und ich kann nicht.

Ich habe scp und ssh-copy-id ausprobiert, aber Booth kann den Parameter -i nicht verwenden, um eine Verbindung über die Schlüsselpaare herzustellen.

Der Parameter ssh-copy-id -i ist die zu sendende Datei (öffentlicher Schlüssel).

Was kann ich tun, um es hochzuladen?

TiagoGouvea
quelle
scp unterstützt -i. Welchen Befehl haben Sie ausgeführt und wie wird ausgegeben?
dfranke
Mir ist auch nicht klar, was Sie genau tun wollen. Versuchen Sie, eine Instanz mit einem lokal generierten SSH-Schlüssel zu starten, oder haben Sie eine bereits ausgeführte Instanz, auf der Sie einen zweiten Schlüssel installieren möchten?
dfranke
dfranke. Ich kann zu diesem Zeitpunkt mit ssh -i file.pem eine Verbindung zur Instanz herstellen. Aber ich muss mit rsync einen Cron auf der Client-Seite erstellen, dann muss ich Zugriff ohne Authentifizierung haben.
TiagoGouvea
Ich erstelle die öffentlichen Schlüssel auf der Clientseite, kann sie jedoch nicht an den Server senden. Es ist das einzige Problem. So sende ich meine öffentlichen Schlüssel vom Client zum Server. :( Ich denke, es ist einfach, aber zu diesem Zeitpunkt kann ich nicht.
TiagoGouvea
@TiagoGouvea scpunterstützt -i. Sie können es als verwenden scp -i your_pem.pem your_file user@aws_ip:/home/user/. Wahrscheinlich wird aufgrund Ihrer Berechtigungen für Ihre PEM-Datei ein Fehler angezeigt. Es sollte 400(dh chmod 400 your_pem.pem) sein
Guleria

Antworten:

10

OK! Ich habe einen Weg gefunden.

Auf der Client-Seite:

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

Alles erledigt!

TiagoGouvea
quelle
Was ist das eigentliche Problem, das Sie zu lösen versuchen und das Sie zu der Annahme führt, dass dies der Weg ist, es zu lösen?
Bobmagoo
Das für mich gelöste Problem besteht darin, dass ein Einzeiler meinen lokalen Pub-Schlüssel in eine neu eingerichtete EC2-Instanz einbinden soll authorized_keys. Vermeidet es, ein scp zu machen, sich dann über pem anzumelden und es an der richtigen Stelle zu platzieren.
ljs.dev