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