Natürlich! Unter Unix und OS X generiert der Befehl ssh-keygen
öffentliche und private Schlüssel für die SSH-Authentifizierung mit öffentlichen Schlüsseln. Der übliche Weg, diesen Befehl (auf dem Client) aufzurufen ist:
ssh-keygen -t rsa
Dieser Befehl wird Sie fragen, wo Sie Ihren privaten Schlüssel zu setzen; Der Standardplatz ist ~/.ssh/id_rsa
, und der öffentliche Schlüssel wird in die gleichnamige Datei mit der Erweiterung .pub
eingefügt (zum Beispiel: ~/.ssh/id_rsa.pub
). Der Befehl fordert Sie außerdem auf, ein Kennwort ("Passphrase") für den privaten Schlüssel zu erstellen. Sie können es für kein Passwort freilassen wie ich, aber ich empfehle diese Praxis nicht.
Sobald Sie Ihre öffentlichen und privaten Schlüssel auf dem Clientcomputer haben, müssen Sie Ihren Server dazu bringen, diesen öffentlichen Schlüssel zu erkennen. Wenn Sie Shell-Zugriff auf den Server haben, können Sie die Public-Key-Datei mit scp
laden, dann ssh
verwenden Sie den folgenden Befehl auf dem Server ausgeführt werden:
cat id_rsa.pub >> ~/.ssh/authorized_keys
Wenn Ihr Hosting-Unternehmen nicht geben Sie den Zugriff Shell (obwohl Bluehost das tut, oder diese Prozedur nicht funktioniert, wird es wahrscheinlich eine Webschnittstelle zu derselben Funktionalität geben.
Sobald Ihr Server für die Erkennung Ihres öffentlichen Schlüssels eingerichtet wurde, können Sie ohne Kennwort darauf zugreifen, wenn ssh
auf dem Client versucht, Ihren privaten Schlüssel für die Authentifizierung zu verwenden. Sie müssen möglicherweise noch das Kennwort Ihres privaten Schlüssels eingeben, aber normalerweise müssen Sie dies nur einmal für jede Client-Anmeldesitzung tun.
Sie schlagen vor, einen * passwortlosen * privaten Schlüssel zu erstellen? –
Ja, das ist eine schlechte Übung, aber normalerweise verwende ich sie. Ich werde meine Antwort bearbeiten, um diese Bedenken auszuräumen. –
Im Ernst, verwenden Sie SSHKeychain. –