SSH arbeitet mit einem Asymmetrischen Kryptosystem. Was das bedeutet und wie es arbeitet wird auf Wikipedia sehr schön beschrieben: http://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem
Kurz gesagt, bedeutet Asymmetrisches Kryptosystem, dass die Verschlüsselungs- und Entschlüsselungsalgorythmen sich unterscheiden.
Wenn man sich sehr oft auf den selben Maschinen einloggen muss, dann kann es Sinn machen, auf der Zielmaschine seinen öffentlichen Schlüssel zu hinterlegen. Dann braucht man nicht immer das Passwort eingeben um auf die Maschine zu kommen.
Es gibt drei Schlüssel-Typen:
RSA-Default-Schlüssel (mit 4096 Bit Länge) generieren:
ssh-keygen -t rsa -b 4096
RSA-Schlüssel für sonstige Verwendungen generieren
ssh-keygen -t rsa -b 4096 -f .ssh/id_rsa_sonstiges
öffentlichen Schlüssel verteilen:
Natürlich muss „fritz@rechner“ gegen Ihre individuellen Zugangsdaten ausgetauscht werden!
cat .ssh/id_rsa.pub | ssh fritz@rechner 'umask 077; mkdir -p .ssh; cat >> .ssh/authorized_keys'
Konfiguration anpassen
vi /etc/ssh/sshd_config
PermitRootLogin without-password
#PasswordAuthentication no
ChallengeResponseAuthentication no
#UsePAM yes
Es ist nur möglich den privaten OpenSSH-Schlüssel zu konvertieren! Das ist aber keine Einschränkung, da der öffentliche Schlüssel aus dem privaten Schlüssel erzeugt werden kann, was Putty auch tut.
Hier wird beschrieben, wie man mit OpenSSH einen privaten und öffentlichen SSH-Schlüssel erzeugt und den öffentlichen Schlüssel dann in PuTTY einbindet.
Damit man den unter BSD/Linux erzeugten privaten OpenSSH-Schlüssel (z.B.: id_rsa) verwenden kann, muss der private OpenSSH-Schlüssel in das PuTTY Format konvertiert werden. Das liegt daran, dass das Format für SSH-Schlüssel nirgendwo standardisiert ist.
Nachdem die private OpenSSH-Schlüssel-Datei auf dem Windoofs-Rechner kopiert wurde, starten Sie PuTTYgen und rufen Sie Conversions → Import key auf. Navigieren Sie zur privaten OpenSSH-Schlüssel-Datei und geben Sie die Passphrase ein, die sie beim Erzeugen des Schlüssels gewählt haben. Schließlich klicken Sie auf Save private key und speichern den OpenSSH-Schlüssel jetzt in der Datei id_rsa.ppk im Putty-Format ab. In der PPK-Datei liegen dann der private und der öffentliche Schlüssel.
Jetzt haben wir drei OpenSSH-Schlüssel-Dateien:
Hier wird beschrieben, wie man mit PuTTY einen privaten und öffentlichen SSH-Schlüssel erzeugt und den öffentlichen Schlüssel dann aus PuTTY im OpenSSH-Format entnimmt.
Nachdem Sie PuTTYgen gestartet haben und unten das Protokoll (SSH-2 RSA) sowie die Schlüsselgröße (z.B.: 4096) eingegeben haben, drücken müssen Sie den Knopf “Generate“ drücken.
Will man den öffentlichen Schlüssel im OpenSSH-Format haben, dann muss man die Zeile (umgebrochen) aus dem oberen Feld per „cut and past“ nehmen. Will man ihn im PuTTY-Format haben, dann muss man ihn mit dem Knopf “Save public key“ in eine Datei exportieren.