SFTP Zugriff mittels authorized keys auf SSH Server

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen

Allgemeine Einleitung

Hier geht es darum wie man einen SFTP Zugriff auf einem SSH Server erlangen kann.


Dabei ist es vom Prinzip her Egal ob es sich um eine Dreambox, NAS oder einem anderen PC handelt.

Die Voraussetzung ist lediglich das der entsprechende Server richtig konfiguriert und eingerichtet wurde und das es bereits fertige Schlüssel gibt die in die entsprechende(n) authorized_keys des Server eingetragen wurden.

Was natürlich den Umgang mit Putty, Puttygen, und dem OpenSSH beinhaltet (zum einrichten eines SSH-Servers).


Ambox notice.png für den Zuriff benötigt man den Privaten Schlüssel


Zurück zum Inhaltsverzeichnis:


Zugriff über Linux

Annahme: Die OpenSSH-Schlüssel wurden unter Linux erstellt!

Wir haben also ein Paar Linux-Schlüsseln z.B. mit dem Namen:

  • jochen-key und jochen-key.pub

Der Schlüssel mit der Endung .pub ist der Public (öffentliche) Schlüssel, also ist klar wir benötigen den Schlüssel ohne das .pub am Ende!

Linux (Unix) sucht seine Schlüssel im Homeverzeichnis unter .ssh des entsprechenden Users.
Für jeden User sollte man nur ein Schlüsselpaar verwenden, will man mehrere Verschiedene Schlüssel
verwenden empfiehlt sich dann für jeden Schlüssel einen eigenen User-Account anzulegen.

Im Verzeichnis .ssh wird also nach den Schlüsseln gesucht, diese sollten folgende Namen dort enthalten:

  • id_rsa (privater Schlüssel im RSA-Format)
  • id_rsa.pub (Öffentlicher Schlüssel im RSA-Format)
  • id_dsa (privater Schlüssel im DSA-Format)
  • id_dsa.pub (Öffentlicher Schlüssel im DSA-Format)

Also benennen wir unsere Schlüsseln (entsprechend des Formates um) und kopieren diese in unser .ssh Verzeichnis.

Beide Dateien müssen dem entsprechendem User gehören (zugewiesen sein) und düfen nur von diesem gelesen werden können.

egle@AMD64-X2-6000:~/.ssh$ ls -la
-rw-------  1 egle egle 1675 2009-09-04 18:42 id_rsa
-rw-------  1 egle egle  394 2009-09-04 18:42 id_rsa.pub
egle@AMD64-X2-6000:~/.ssh$

Wurde dies gemacht, kann man nun unter Linux mit jedem beliebigen Tool per SFTP (SSH)
auf solch einem SSH-Server mit eingerichteter authorized_keys zugreifen.

Der einfachste und schnellste Test wäre mittels SSH direkt.

ssh egle@IP-Adresse_des_SSH-Servers


Hat dies geklappt kann man dies nun mit seinen Dateimanager versuchen (z.B: Krusader):


Wir öffnen unseren Krusader wählen eine neue Verbindung und geben die Daten unseres SSH-Servers ein:

Eingabe der Serverdaten
  • Hier geben wir die IP-Adresse des SSH-Servers ein.
  • den Port, (normal Port 22) wenn diesen nicht im Router umgeleitet wurde.
  • das Protokoll sftp://
  • den Benutzernamen ein (damit der ssh-server weiß mit welchem schlüssel er vergleichen muss)
  • das Passwort bleibt leer (wir wollen ja per Schlüssel identifiziert und autorisiert werden)
Ambox notice.png Bei der aller ersten Verbindung wird man nach einem zertifikat gefragt, dies muss man annehmen!

Danach hat man sein SFTP-Verbindung mittels Schlüssel-Identifikation erfolgreich gemeistert.

SFTP-Verbindung mittels Krusader


Genauso sollte man natürlich nun mit jedem anderem DateiManger der SFTP unterstützt eine Verbindung aufbauen können.


Zurück zum Inhaltsverzeichnis:


Zugriff über Windows

Unter Windows müssen die unter Linux erstellten Schlüssels erst ins Puttyformat konvertiert werden.

Wie das geht, findet man hier OpenSSH Public-Private-Key

Nun nehmen wir für eine SFTP-Verbindung am besten WinSCP
und geben dort im AnmeldungManager unser Daten ein:

WinSCP-start.png
WinSCP-dateneingabe.png

Hier geben wir wieder unser Daten und Benutzernamen ein.
Zusätzlich muss hier der Putty-Private-Key.ppk mit angegeben werden!


Dann gehen wir mal auf Verbinden (Anmelden) und sehen wie unsere Verbindung aufgebaut wird.

und müssen ggf, unser Passwort (Passphrase des Schlüssels) eingeben


Die Verbindung hat geklappt...

Erfolgreiche SFTP-Verbindung