Kommunikation zwischen Windows und Linux per ssh

Die Kommunikation zwischen Windows und Linux dank einiger Tools wie PuTTY oder WinSCP funktioniert ohne Probleme. Selbstverständlich auf dem Linux Server muss der ssh Dienst laufen und entsprechend konfiguriert sein.

Bei der Verwendung von PuTTY bzw. WinSCP werden normalerweise Logindaten eines Benutzers von dem Linux Server genutzt. Hier wird beschreiben, wie wir statt Logindaten einen Schlüssel nutzen könnte um sich mit dem anderen Server unkompliziert  zu verbinden.

Unser Ziel ist es, den Zugriff von Windows auf Linux Server per Key zu realisieren. PuTTY und WinSCP sind schon auf dem Windows PC installiert.

Punkt
Von der Webseite https://www.putty.org kann man PuTTY und dazugehörige Apps wie puttygen, plink etc. herunterladen.
Punkt
Betrachten wir zuerst die Kommunikation per Key zwischen zwei Linux Servern.

         Server1: Linux1
         Server2: Linux2

Zuerst müssen wir auf einem Server ein Schlüsselpaar erzeugen. Wir nehmen den Linux2 und die Schlüssel sollten für den Benutzer root vorgesehen sein. Mit dem folgenden Befehle erzeugen wir ein Schlüsselpaar, public und private

 

# ssh-keygen -b 4096

Es wird ein Ordner .ssh unter aktuellem Benutzer (in unserem Fall root) erstellt, wenn es noch nicht vorhanden ist. In diesem Ordner werden die 2 Datei erzeugt. Der Public Key hat die Dateierweiterung .pub und Private Key hat keine Erweiterung.

Jetzt müssen wir noch den Public Key zu dem anderen Server übertragen. Für diesen Zweck können wir den folgenden Befehl verwenden.

 

# ssh-copy-id root@Linux1

 

Auf dem Linux1 im Ordner /root/.ssh,, wird eine Datei mit dem Namen authorized_keys angelengt, wenn es noch nicht vorhanden ist. In dieser Datei wird dann der public Key zugefügt.
Alle public Keys von verschieden Server befinden sich immer in der Datei (für root) in /root/.ssh/authorized_keys
Die public Keys können wir selbstverständlich auch manuell mit einem Editor in der Datei authorized_keys einfügen, bzw. entfernen, wenn nicht mehr gebraucht werden.
Punkt
Zuerst erstellen wir ein Ordner, am besten mit dem Namen .ssh, in dem wir die Keys speichern werden. Wir können es im Explorer machen oder in CMD Fenster. Auf jeden Fall sollten wir den Ordner in Benutzerprofil anlegen %USERPROFILE%
In CMD Fenster würde es so aussehen.

 

C:\>md %USERPROFILE%\.ssh
Punkt
Wir möchten auch gerne Key nutzen, um von Windows auf Linuxserver zugreifen zu können, ohne Logindaten nutzen zu müssen, nur eben nur mit Key. Wir haben schon puttygen heruntergeladen. Das Programm wird gestartet und die Keys werden generiert, in dem wir auf den Button Generate klicken und danach die Maus bewegen. Stärke des Schlüssels mindestens 4096

Punkt
Ist der Key generiert, sollten wir die Keys im erstellten Ordner C:\users\<Benutzer>\.ssh speichern. Zuerst aber wird key comment angepasst. Wir wollen doch ganz genau wissen, wem dieser Key gehört. Den Public Key speichern wir ohne erweiterung und den Private Key mit der Erweiterung .ppk. Der Private Key werden wir später in unserem PuTTY brauchen.

Punkt
Als Nächstes müssen wir unserer Public Key für OpenSSH auf den entfernten Server in der Datei <benutzer>./ssh/authorized_keys speichern. Sollte die Datei nicht existieren, erstellen wir die. Ist die Datei schon vorhanden, wird unsere Public Key zugefügt. Wir markieren den ganzen Text, wie auf dem Bild unten, kopieren wir es und dann können wir den Text in der Datei <benutzer>./ssh/authorized_keys auf dem entferntem System hinzufügen.

Punkt
Wir können auch den Public Key in einer Datei speichern, am besten in dem gleichen Ordner wie der Private Key.  Es wird eine Textdatei mit der Erweiterung .pub erstellt und in dieser Datei speichern wir unserer Public Key. Die Dateinamen definiere ich so wie unser Kommentar.
In meinem Fall wären das 3 Dateien rsa-key-manfredHP, rsa-key-manfredHP.ppk und rsa-key-manfredHP.pub
Jederzeit kann man auch den Private Key in puttygen laden, auf dieser weise bekommen wie den Public Key.

Private Key verwendung in PuTTY

Punkt
Es wird davon ausgegangen, dass sich der Public Key auf dem entfernten Server befindet. PuTTY wird gestartet und die Daten werden eingetragen.

Punkt
In der Konfiguration müssen wir noch den Pfad zu Private Key definieren. Die Einstellungen werden gespeichert. Ab sofort können wir uns ohne Logindaten einloggen. Es wird nur der Schlüssel verwendet.