
Ich frage mich also, wie ich diese Datei in mein Dotfiles-GitHub-Repo bekommen kann.
Ich habe es satt, jedes Mal, wenn ich an einem neuen Computer sitze oder mein Betriebssystem neu installiere usw., einen neuen SSH-Schlüssel generieren zu müssen.
Was ist also der beste Weg, dies zu tun? Ich denke, es reicht aus, der Datei bei der Generierung des Schlüssels eine Passphrase zuzuweisen. Das sollte sie verschlüsseln oder sie ohne Passphrase unbrauchbar machen. Ist das gut genug?
Wenn nicht, gibt es eine Möglichkeit, die Datei zu verschlüsseln, sodass ich sie ohne Bedenken sicher ins Internet hochladen, aber mit dem richtigen Kennwort jederzeit verwenden kann?
Antwort1
id_rsa.pub
ist der öffentliche Schlüssel und muss überhaupt nicht geschützt werden. Tatsächlich ist esBedürfnisseid_rsa
muss veröffentlicht werden, damit es funktioniert. Ich gehe davon aus, dass Sie in dieser Frage tatsächlich (den privaten Schlüssel) meinen .
Sie müssen sicherlich nicht jedes Mal einen neuen SSH-Schlüssel generieren, wenn Sie an einem neuen Computer arbeiten oder Ihr Betriebssystem neu installieren. Sie können diese Datei von einem Computer auf einen anderen kopieren. Oder, wenn Sie vorübergehend an einem anderen Computer arbeiten, auf dem Sie Ihren Schlüssel nicht speichern möchten, können Sie sich per Remote-Zugriff mit bei dem Computer anmelden, auf dem der Schlüssel gespeichert ist, ssh -A
und den Schlüssel mit in Ihren lokalen Agenten laden ssh-add
. (Sie sollten dies nur tun, wenn Sie auf dem Computer, den Sie vorübergehend verwenden, root vertrauen.)
Sie sollten außerdem bereits über eine Passphrase für Ihren SSH-Schlüssel verfügen (wenn nicht, fügen Sie sofort eine hinzu oder, noch besser, betrachten Sie den Schlüssel als kompromittiert und ersetzen Sie ihn!), da sonst jeder, der auch nur kurzzeitig Zugriff auf den Computer erhält, auf dem der Schlüssel gespeichert ist, darauf Zugriff hat.
Wenn das manuelle Kopieren der Datei von einem Computer auf einen anderen für Sie unbequem ist, können Sie Ihren SSH-Schlüssel in der Cloud (GitHub oder anderswo) speichern. Persönlich würde ich das lieber nicht tun.
Ich gehe davon aus, dass Sie zu diesem Zweck ein privates GitHub-Repository verwenden möchten. Obwohl ein SSH-Schlüssel mit einer Passphrase für jeden ohne die Passphrase nutzlos sein sollte, sollten Sie den verschlüsselten Schlüssel dennoch für sich behalten, falls jemand jemals an Ihre Passphrase gelangt.
BEARBEITEN: Mehr zum Teilenid_rsa
Auch wenn id_rsa
es für jeden unbrauchbar ist, der nicht im Besitz der dazugehörigen Passphrase ist, sollten Sie es trotzdem nicht weitergeben.
Der SSH-Schlüssel kann als eine Art Zwei-Faktor-Authentifizierung betrachtet werden. Die id_rsa
Datei istEtwas, das Sie haben. Die Passphrase ist „Etwas, das Sie wissen“. Nur zusammen sind sie nützlich. Ich sage „so in der Art“, weil Sie die Datei nicht wirklich mit sich herumtragen, id_rsa
wie Sie es bei der Komponente „Etwas, das Sie haben“ eines echten Zwei-Faktor-Authentifizierungssystems tun würden.
Wenn Sie die id_rsa
Datei nicht freigeben, bietet dies einen gewissen Schutz für den Fall, dass Ihre Passphrase an jemand anderen weitergegeben wird. In diesem Fall sollten Sie den Schlüssel auf jeden Fall widerrufen, aber zumindest besteht die Chance, dass ein Angreifer nichts tun kann, wenn er keine Kopie von erhält id_rsa
.