Servercommunity Foren-Übersicht Servercommunity
Das informative Forum für Fragen rund um Server
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

SSH-Public-Key Authentifizierung einrichten

 
Neues Thema eröffnen   Neue Antwort erstellen    Servercommunity Foren-Übersicht -> How-To's
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Boum



Anmeldedatum: 29.07.2003
Beiträge: 1929
Wohnort: Karlsruhe

BeitragVerfasst am: Do Jan 13, 2005 09:33    Titel: SSH-Public-Key Authentifizierung einrichten Antworten mit Zitat

Anleitung zur Verwenden der SSH-Authentifizierung per Public Key.
Annahmen:
  • Client ist ein Windows-Rechner mit PuTTy
  • Es besteht ein SSH-Zugang zum Server (per Passwort)
  • für diese Verbindung ist ein PuTTy-Session angelegt

Code:

# Auf dem Server:
cd ~/.ssh # bzw: zuerst ein mkdir ~/.ssh
ssh-keygen -t rsa -f key
<2xpassphrase>

# Jetzt haben wir das Schlüsselpaar. Jetzt sagen wir ssh, dass es ok ist,
# wenn jemand mit diesem Schlüssel ankommt (dafür muss ssh nur den
# PUBLIC key kennen!):

cat key.pub >> authorized_keys

# Anm.: per ">>" haben wir den Key _hinten_ an die authorized_keys
# Datei angehängt.

Jetzt müssen wir den privaten Key "key" auf den Client-Rechner übertragen. Also ftp, sftp, was auch immer anwerfen.
Da das eine Textdate ist, geht auch:
Code:

# notepad.exe starten auf dem Client
cat key
# in die Zwischenablage kopieren: alles inklusive
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
...
-----END RSA PRIVATE KEY-----
# das ins Notepad einfügen und abspeichern als "C:\key" (Pfad wie Ihr wollt,
# ich verwende jetzt den der Einfachheit halber)
# Achtung: Dateityp vorher auf "Alle Dateien" stellen, sonst
# haben wir anschließend einen C:\key.txt


Leider frisst PuTTy den OpenSSH-Key nicht direkt. Darum müssen wir jetzt erst puttygen.exe ausführen (liegt im PuTTy-Installationsverzeichnis rum):

  • "Load" klicken
  • C:\key laden (oder c:\key.txt Wink )
  • <passphrase> eingeben
  • "Save private key" klickfizieren
  • und als (z.B.) c:\key.ppk abspeichern.

Jetzt Putty aufrufen.

  • Die Session laden, mit der Ihr Euch bisher einloggt (markieren, "Load" klicken)
  • (optional) Reiter "Connection" aufmachen und Auto-login username entsprechend setzen
  • Reiter Connection/SSH/Auth anwählen und in den "Authentication parameters" den "Private key file for authentification" auf C:\key.ppk setzen

Jetzt könnt Ihr diese Session abspeichern und verwenden! Statt "Password:" muss jetzt beim einloggen die Frage nach der Passphrase für unseren neuen Key kommen. Die (leicht) paranoiden löschen jetzt noch die Dateien "key" und "key.pub" auf dem Server (aber nicht die authorized_keys, bitte!)
_________________
Planung ist das Ersetzen des Zufalls durch Irrtum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Harry
Crash Kid


Anmeldedatum: 21.06.2003
Beiträge: 1873

BeitragVerfasst am: Do Jan 13, 2005 09:42    Titel: Antworten mit Zitat

*soifz* Rolling Eyes
_________________
Auf der Suche nach einer neuen Signatur...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dennis
Junior-Chef


Anmeldedatum: 21.06.2003
Beiträge: 2344
Wohnort: Schömberg (zw. Stuttgart u . Karlsruhe)

BeitragVerfasst am: Do Jan 13, 2005 10:42    Titel: Antworten mit Zitat

Kannst du der Vollständigkeit halber dsa gleiche noch für Linux-Clients machen ?

Wäre nett Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Boum



Anmeldedatum: 29.07.2003
Beiträge: 1929
Wohnort: Karlsruhe

BeitragVerfasst am: Do Jan 13, 2005 11:28    Titel: Antworten mit Zitat

Auf vielfachen Wink Wunsch: Howto für Linux <-> Linux Szenarien:

Anleitung zur Verwenden der SSH-Authentifizierung per Public Key.
Teil 1 - Annahmen:
  • Client und Server verwenden OpenSSH
  • Es besteht ein SSH-Zugang zum Server (per Passwort)
  • Es gibt auf dem Client noch keine keys. Wer schon eine Datei namens id_rsa oder id_dsa nebst den .pub-Dateien in seinem ~/.ssh rumliegen hat, liest bitte Exclamation hier weiter!

Code:

# Auf dem Server (das ist da, wo wir uns per ssh einloggen wollen):
cd ~/.ssh # bzw: zuerst ein mkdir ~/.ssh
ssh-keygen -t rsa -f key
<2xpassphrase>

cat key.pub >> authorized_keys

Jetzt müssen wir den privaten Key "key" auf den Client-Rechner übertragen. Also ftp, sftp, was auch immer anwerfen.
Da das eine Textdatei ist, geht auch:
Code:

cat key
# in die Zwischenablage kopieren: alles inklusive
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
...
-----END RSA PRIVATE KEY-----
# Auf dem Client (von wo wir uns einloggen wollen) das in die Datei $HOME/.ssh/id_rsa
 einfügen

vi ~/.ssh/id_rsa
# und rein und speichern
chmod 600 ~/.ssh/id_rsa

Das war's auch schon. ssh verwendet die Private Keys, die in ~/.ssh/id_rsa (für RSA-Keys, Option -t rsa beim keygen) bzw id_dsa (für DSA-Keys, analog) stehen zur Authentifizierung auf anderen Maschinen. Diese müssen nur vom Benutzer lesbar sein, sonst ignoriert ssh diese einfach!



Exclamation Teil 2: Auf dem Client gibt's bereits ein Schlüsselpaar

Das heisst: auf dem Client (also die Kiste, von wo wir uns auf dem Server einloggen wollen) sieht das ~/.ssh-Verzeichnis so oder ähnlich aus:
Code:
...
-rw-------    1 user user     1904 Jan 13 11:30 id_rsa
-rw-r--r--    1 user user      225 Oct  7  2003 id_rsa.pub
...

...dann ist's noch einfacher: wir machen ein
Code:
cat id_rsa.pub

auf dem Client. Auf dem Server hängen wir genau das an die Datei "authorized_keys" im .ssh-Verzeichnis an
Code:
vi ~/.ssh/authorized_keys

und sind schon fertig.
_________________
Planung ist das Ersetzen des Zufalls durch Irrtum.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Servercommunity Foren-Übersicht -> How-To's Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de