Die Anmeldung an einem linux System mittels PublicKey hat zwei Vorteile
- wenn der Schlüssel einmal geladen ist, müssen Sie Ihr Kennwort nicht eingeben
- 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.
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.
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_config1 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.
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
Pingback: cygwin ssh daemon unter Windows XP auf .: blog.cscholz.io :.
Pingback: Linux: backup über ssh mit rsync auf .: blog.cscholz.io :.
Danke, das hat mir weiter geholfen 🙂
Pingback: Linux: Befehlssatz nach SSH Anmeldung limitieren | .: blog.cscholz.io :.