Debian: ssh mit PublicKey Authentifizierung

4

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
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

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 :.

Antworten