Wie Sie Ihren EC2-PEM-Datei auf Ihrem SSH Keychain

0
67

Beim erstellen einer neuen Instanz in EC2, erhalten Sie eine PEM-Datei, die fungiert als access key. Sie müssen dies zu SSH in den server, so dass Sie wollen, fügen Sie es zu Ihrem Schlüsselbund für den einfachen Zugriff.

Wie Sie Ihre PEM-Datei

Sie können die PEM-Dateien manuell durch hinzufügen der-i-flag, um ssh:

ssh-i keyfile.pem user@host

Dies ist unhandlich, zu jeder Zeit geben, so gibt es ein paar Möglichkeiten, um dieses Problem zu beheben.

Die einfachste Methode wäre, um Ihre eigenen öffentlichen Schlüssel auf Ihrer EC2-Instanz, und ignorieren Sie die PEM-Datei für alle zukünftigen Anmeldungen. Der öffentliche Schlüssel wird in der Regel gespeichert in ~/.ssh/id_rsa.pub, so dass Sie kopieren möchten, die in der ~/.ssh/authorized_keys-Datei auf dem server. Wenn Sie ein ein-Mann-team einfach unter einem server, und nicht dagegen, dies zu tun, jedes mal, das ist alles, was Sie zu tun haben.

Allerdings werden Sie haben, um durch diesen Prozess gehen jedes mal, wenn Sie eine neue Instanz erstellen. Aber mit PEM-Dateien, können Sie diese wiederverwenden, zwischen den Instanzen. Auch sind Sie unabhängig von Ihrem persönlichen, privaten Schlüssel, so dass Sie Ihnen geben können, zu anderen Menschen, die brauchen einen ssh-Zugang.

Der ssh-add ” – Befehl speichert einen Schlüssel in ssh-agent, bis Sie sich Abmelden:

ssh-add ~/keyfile.pem

Aber, müssen Sie führen dieses bei jedem Neustart, so ist es nicht ideal. Sie können fügen Sie diese zu Ihrem ~/.bashrc oder ~/.bash_profile ausgeführt, jedes mal, wenn Sie Booten Sie das terminal, das löst das Problem. Stellen Sie sicher, dass die Umleitung der Ausgabe auf /dev/null Stille den Befehl, oder Sie werden sehen, “Identität Hinzugefügt:” jedes mal, wenn Sie öffnen Sie das terminal.

ssh-add ~/keyfile.pem – >/dev/null 2>&1

Speichern von SSH-Schlüsseln Im macOS Schlüsselbund

Wenn Sie auf macOS, können Sie zusätzliche SSH-Schlüssel im macOS Schlüsselbund. Öffnen ~/.ssh/config und fügen Sie die folgenden Zeilen:

Host *
UseKeychain ja

Jetzt kannst du die Tasten mit

ssh-add-K ~/keyfile.pem

Die Schlüssel werden im Schlüsselbund gespeichert und bei einem Neustart beizubehalten. Sie werden automatisch geladen, nur wie ~/id_rsa.

Ersetzen id_rsa Mit Ihrem Neuen Schlüssel

Während diese option funktioniert, ist es nicht wirklich etwas, was wir empfehlen. Aber, wenn aus irgendeinem Grund Sie wirklich wollen, Ihre AWS privaten Schlüssel zu Ihrem neuen persönlichen privaten Schlüssel, können Sie ersetzen Sie id_rsa mit der PEM-Datei von AWS. id_rsa ist standardmäßig geladen, so dass Sie standardmäßig über die Taste für alles.

Stellen Sie absolut sicher, dass Sie nicht mit Ihrer aktuellen privaten Schlüssel für alles (SSH auf anderen Servern, GitHub, etc.). Auch wenn Sie denken, Sie nicht sind, sollten Sie eine Sicherungskopie Ihrer aktuellen SSH-Schlüssel, bevor Sie fortfahren:

mv ~/.ssh/id_rsa ~/.ssh/id_rsa_old
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa_old.pub

Die AWS-PEM-Datei konvertiert werden muss, um PKCS8-format verwendet werden, wie ein privater Schlüssel. Sie können dies tun, mit OpenSSL:

openssl pkey < keyfile.pem – > keyfile.pkcs8

Dann müssen Sie zum generieren der entsprechenden öffentlichen Schlüssel, wieder mit OpenSSL

openssl rsa -in keyfile.pkcs8 -pubout > keyfile.pub

Dann machen Sie sicher, dass Sie gesichert haben, Ihre alten id_rsa, können Sie ersetzen Sie mit Ihrem neuen:

mv keyfile.pkcs8 ~/.ssh/id_rsa
mv keyfile.pub ~/.ssh/id_rsa.pub