Benutzer-Werkzeuge

Webseiten-Werkzeuge


windows:putty_pscp_ssh_key_connect

Putty mit SSH Key's verwenden

Um nicht jedesmal beim Anmelden auf einen Server ein Passwort einzugeben, kann auch mit Schlüsseln gearbeitet werden.

Voraussetzung :

Ablauf:

  • Putty Key auf dem Windows System mit dem Programm PuTTYgen.exe erzeugen
  • SSH Key bzw. ssh Verzeichnis Struktur auf dem Linux System erzeugen
  • Den Putty Key von Windows System auf dem Linux System hinterlegen
  • Putty einrichten, eigenen Privat Key hinterlegen, User setzen
  • pscp für das Kopieren von Dateien verwenden
  • Putty Keys in weiteren SSH Programmen verwenden/hinterlegen

Putty Key mit PuTTYgen auf dem Windows System erzeugen

Mit Hilfe des Programms „PUTTYGEN.exe“ wird ein Schlüssel für die Verbindung auf die Linux Systeme erzeugt.

  • Programm PUTTYGEN.exe starten
    • SSH-2 RSA auswählen, falls später auch MoboXTerm mit gleichen Public Key verwendet werden soll
    • SSH-2 DSA auswählen bei Bedarf und Wunsch
  • * Mit „Generate“ Button Key Erzeugung starten
  • Bei Bedarf Kommentar anpassen z.B. auf User und Hostnamen
  • Public Key speichern ( im Putty Verzeichnis, in unseren Beispiel unter d:\tools\putty\jupiter_pub.key )
  • Private Key speichern ( im Putty Verzeichnis, in unseren Beispiel unter d:\tools\putty\jupiter_priv.ppk ) ohne Passphrase ( damit später der Key ohne weitere Passwort Eingabe verwendet werden kann, zum Beispiel für pscp in einem Batch Programm )
  •  Putty Key erzeugen und Speichern
  • Key für die spätere evtl. Verwendung für openssh exportieren ( Menü Punkt „Conversions“/„Export OpenSSH Key“ ) (im Putty Verzeichnis, in unseren Beispiel unter d:\tools\putty\jupiter_openssh.id bzw. jupiter_openssh_rsa.id )
  • OpenSSH public Key aus der Box im Programm über die Zwischenablage und einem Editor in einer Datei speichern, siehe Screenshot
  •  Open SSH Key aus PuTTYgen  Box kopieren und speichern
  • Exit

Der OpenSSH Key kann später noch für die Verwendung in anderen SSH Programmen wie MoboXterm nützlich sein, für MoboXterm allerdings nur in der RSA Variante!

SSH Key’s bzw. SSH Key Struktur auf dem Linux System erzeugen

Auf dem Linux System anmelden:

ssh-keygen -t dsa
 
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
 
# oder alternativ mit RSA in einem Schritt
 
ssh-keygen -t rsa -N '' -q -f ~/.ssh/id_rsa

Zwei Dateien werden erzeugt /home/oracle/.ssh/id_dsa und der public key unter /home/oracle/.ssh/id_dsa.pub

Mit dem public Key in der Datei /home/oracle/.ssh/id_dsa.pub kann später auf anderen Linux Hosts ebenfalls eine Authentifizierung ohne Passwort eingerichtet werden.

Siehe dazu auch den SSH Key Austausch für ein Cluster unter ⇒ Wichtige Shell Befehle für den DBA unter Linux / Solaris

Soll sich der Server selber mit zum Beispiel „ssh localhost“ anmelden können (wichtig für Cluster Installationen!), den public key gleich der „authorized_keys“ hinzufügen:

cat id_dsa.pub >> authorized_keys 

Windows Key auf dem Linux System hinterlegen

Auf dem Linux System den Open SSH Public Schlüssel (den aus der Box von PuTTYgen !) auf dem Linux Server kopieren/transferieren.

Ablauf:

  • Prüfen ob die Datei /home/oracle/.ssh/authorized_keys exisitert, falls nicht diese Datei anlegen
  • Datei /home/oracle/.ssh/authorized_keys öffen und am Ende den Schlüssel einfügen und speichern ( am einfachsten über die Zwischenablage .-) )

 Public Key in .ssh/authorized_keys hinterlegen



Putty verwenden - Private Putty Key in Putty für die Verbindung auf den Linux Server hinterlegen

Putty öffnen

  • IP Adresse oder Servernamen angeben
  • Unter „Connection/SSH/Auth“ den private Key von Putty (die Datei mit der ppk Endung!) hinterlegen
  • Auf „Connection/Data“ den Login User Name auf der Linux Maschine hinterlegen (Der User in dessen Keys der Public Key von der Windows Putty Umgebung unter Linux hinterlegt ist!)
  •  Putty Private Key hinterlegen

Nun kann eine Anmeldung ohne Angabe eines Passwortes erfolgen.

Das SSH ftp Programm - pscp - mit einem Public Key verwenden

Mit pscp können unter Windows über die Kommandozeile Dateien per SSH auf das Zielsystem kopiert werden.

Dazu muss der OpenSSH Public Key (der aus der Box von PuTTYgen!) auf dem Zielsystem hinterlegt sein. Das haben wir bereits zuvor mit Putty durchgeführt und getestet.

Nun wird pscp mit dem private Windows Putty Key aufgerufen ( Schalter -i ) und es können ohne Passwort Abfrage die Daten kopiert werden.

Beispiel für das Kopieren vom Server auf den Windows Rechner mit dem SSH Protokoll 2 ( Schalter -2 ), dem User Oracle ( Schalter -l oracle ) und dem private Key der Putty Umgebung ( Schalter -i ) vom Server 192.168.178.181 die Datei /home/oracle/.bash_profile nach d:\temp .

pscp.exe -2 -l oracle -i jupiter_priv.ppk 192.168.178.181:/home/oracle/.bash_profile d:\temp\bash_profile




WinSCP mit Key verwenden

Das Programm WinSCP kann direkt mit dem vom Putty generierten Schlüsseln arbeiten. Dazu muss bei den Verbindungsoptionen nur der Hostname, der Linux User und der Pfad zum Schlüssel hinterlegt werden.

 In WinScp Putty Key hinterlegen



Das Programm MobaXterm mit dem gleichen private Key wie in Putty verwenden (Nur die RSA Variante wird unterstützt!)

In MobaXterm kann der gleiche Schlüssel wie in Putty verwendet werden, allerdings NUR wenn wir uns zuvor für die RSA Variante des Keys entschieden haben!

Dann können wir den, zuvor mit dem Putty Key Programm PuTTYgen exportierten, privaten OpenSSH Key verwenden.

In unserem Beispiel haben wir dazu den privaten Schlüssel in die Datei „jupiter_openssh_rsa.id“ exportiert und den public Key aus der Box in PuTTYgen in die Datei „jupiter_openssh.rsa_pub“ kopiert.

Normalerweise erzeugen wir in MobaXterm mit ssh-keygen - t rsa im ersten Reiter (den lokalen Bash Fenster) einen Schlüssel und kopieren den dazugehörigen Public Schlüssel in „id_rsa.pub“ in die „authorized_keys“ Datei auf dem Linux Client.

Damit wir nun in Putty und in MobaXterm den gleichen public Key verwenden können, müssen wir den Putty Private Key (bzw. hier nun die OpenSSH Variante unsers Private Keys) in das Arbeitsverzeichnis von MobaXterm kopieren, damit wir auch die gleichen Private Keys verwenden können!

Ablauf:

  • Ersten Reiter in MobaXterm öffnen ( Bash Emulation auf den lokalen Rechner )
  • Mit dem Befehl
     ssh-keygen -t rsa -N '' -q -f ~/.ssh/id_rsa 

    die Datei Struktur anlegen

  • Die Putty Key Dateien auf dem Rechner lokalisieren, in unseren Beispiel liegen die Dateien unter D:\tools\putty,
    wir müssen allerdings in der Bash Emulation den dazu fassenden Unix Pfad finden:
    • „cd d:“ eingeben
    • cd tools
    • cd putty
    • pwd - diese Aufgabe merken
    • cd
    • cd .ssh
  • Den private und public Key in MoboXTerm nun mit der Putty Variante austauschen:
    • cp /drives/d/tools/putty/jupiter_openssh_rsa.id rsa_id
    • cp /drives/d/tools/putty/jupiter_openssh.rsa_pub id_rsa.pub
  • Nun können wir die gleichen Schlüssel in Putty und MobaXterm verwenden
  • Den public Key hatten wir ja zuvor bereits in unserer Putty Session auf dem Linux System hinterlegt!

Wie sieht das im MobaXterm Reiter aus:

 SSH Key in MobaXterm verwenden

Test in MobaXterm:

Im ersten Reiter per „ssh <user_name>@>server_name_mit_unseren _public_key“ anmelden, wird kein Passwort angefragt, hat es geklappt.

Klappt aber nur in der Kauf Edition auch wieder nach dem nächsten Start von Moboterm!

Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
"Autor: Gunther Pipperr"
windows/putty_pscp_ssh_key_connect.txt · Zuletzt geändert: 2014/12/22 10:12 von gpipperr