Die Anmeldung an einem linux System mittels PublicKey hat zwei Vorteile

    1. wenn der Schlüssel einmal geladen ist, müssen Sie Ihr Kennwort nicht eingeben
    2. erhöt die Sicherheit insofern nur noch PublikKey Anmelungen erlaubt werden

    Keys erstellen

    Als erstes müssen Sie sich einen Schlüssel erstellen mit dem Sie sich auf dem Server anmelden können. Am besten benutzen Sie dazu die aktuellste Putty Installer Version.

    Nach der Installation können Sie über das Startmenü PuTTYgen starten. Im unteren Bereich des Fensters können Sie das Format des Schlüssels sowie die Schlüssellänge selbst eingeben. Die Standard Werte sind aber okay. Klicken Sie anschließend auf [Generate] und bewegen die Maus innerhalb des Fensters.

    putty_generate_key.JPG

    Nachdem Sie den Schlüssel erstellt haben geben Sie unter „Key comment“ eine Sinvolle Bezeichnung ein. Zum Beispiel Ihren Namen. Unter „key passphrase“ geben Sie nun ein Kennwort ein um zu verhinden das der Schlüssel später durch unbefugte verwendet werden kann. Dies ist sehr wichtig, da sonst später jeder der Ihren Schlüssel besitzt auf System zugreifen kann auf denen er nichts verloren hat.

    putty_key_options.JPG

    Speichern Sie nun über [Save private key] (1) und [Save public key] (2) die Schlüssel ab. Beide Dateien werden für die PublicKey Authentifizierung unter Linux NICHT benötigt.

    (1) Benutzername.ppk
    (2) Benutzername.pub

    Klicken Sie anschließend auf [Conversation] und auf [Export OpenSSH Key]. Speichern Sie diesen auch mit einem entsprechenden Namen ab (1.1). Den Inhalt des Feldes „Public key for pasting into…“ speichern Sie auch ab (1.2).

    (1.1) Benutzername_ssh.priv
    (1.2) Benutzername_ssh.pub

    Server Konfiguration

    Verbinden Sie sich anschließend per SSH mit dem zu konfigurierenden Server. Erstellen Sie nun in dem Home Verzeichnis des Benutzers der sich per PubicKey anmelden darf einen Ordner ~/.ssh. In diesem nun die Datei authorized_keys in die Sie den Inhalt der Datei Benutzername_ssh.pub kopieren.

    Anschließend müssen Sie noch die sshd_config Datei editieren. Die Nachfolgenden Einstellungen sind Vorschläge. Wichtig davon sind nur die 4., 5. & 6. Zeile. Anschließend starten Sie denn SSH-Daemon neu. Lassen Sie die SSH Sitzung vorerst noch geöffnet und testen die Verbindung erst mit einer zweiten. Sollte etwas schief gelaufen sein so können Sie über die bereits geöffnete noch Änderungen vornehmen.

     /etc/ssh/sshd_config
    1 Protocol 2
    2 PermitRootLogin yes                             ## sinvoll, erfordert aber einen Benutzerwechsel mittels su
    3 PermitEmptyPasswords no
    4 PasswordAuthentication no
    5 RSAAuthentication yes
    6 PubkeyAuthentication yes
    7 Compression yes

    Client Verbindung (Windows – Linux)

    Um nun eine Verbindung über SSH herzustellen starten Sie als erstes den Putty Agent über das Startmenü. Nun können Sie über das Systray Symbol des Agents Ihren Schlüssel laden.

    putty_load_key.JPG

    Wenn Sie nun eine SSH Verbindung aufbauen brauchen Sie wenn nur einen Benutzernamen angeben. Den Benutzernamen können Sie übrigens durch root@host in den gespeicherten Verbinungsdaten hinterlegen.

    Client Verbindung (Linux – Linux)

    Um von einem Linux Client eine Verbindung mit Key Authentifizierung herzustellen erstellen Sie in Ihrem Homeverzeichniss einen Ordner namens .ssh

    mkdir ~/.ssh

    Kopiere Sie nun die Datei Benutzername_ssh.priv in den Ordner ~/.ssh und ändern die Rechte

    chmod 600

    Erstellen Sie anschließend im Ordner ~/.ssh die Datei config mit folgendem Inhalt

    Host *
    IdentityFile ~/.ssh/Benutzername_ssh.priv

    4 Kommentare

    1. Pingback: cygwin ssh daemon unter Windows XP auf .: blog.cscholz.io :.

    2. Pingback: Linux: backup über ssh mit rsync auf .: blog.cscholz.io :.

    3. Pingback: Linux: Befehlssatz nach SSH Anmeldung limitieren | .: blog.cscholz.io :.

    Leave A Reply