Public und Private RSA-Key generieren und verwenden – André does… (2024)

Schlüssel sind zuverlässiger als Passwörter, aber auch etwas mühsamer in der Anwendung. Viele Web-Hoster gehen progressiv dazu über, einloggen nur mehr über RSA-Schlüssel zuzulassen. Das sind zwei Dateien:

  • einen öffentliche, die als Schloss vom Administrator des Zielservers dort installiert wird
  • einen privaten, den man als eigentlichen Schlüssel bei sich behält und auch mit einem Passwort schützt. Diesen verwendet man in Consolen und anderen Programmen, die sich mit dem Zielserver verbinden (SFTP, Datenbank-Verwaltung etc.).

Unter Windows kann man die beiden Schlüssel mit dem kleinen Programm Putty Gen erzeugen und später mit Pageant für Putty, der bekannten SSH-Konsole, aktivieren. Die einzelnen Programme findet man auf der Putty-Homepage.

Versionen

Abhängig vom Betriebssystem können Versionsinkompatibilitäten auftaten weil sich sowohl die Authentifizierungsprogramme als auch die Schlüsselversionen weiterentwickeln. Wir zum Beispiel der entferne Server einem Update unterzogen, so werden dort die SSH-Schlüssel in eine neuere Version überführt. Gegenfalls muss man dann am Client ebenfalls updaten. Konkret eine neues Set PuttyGen herunterladen, unter Conversions > Import key den alten Schlüssel anwählen, das dazugehörige Passwort eingeben und nur Save Private Key wählen und so speichern. Dann muss man auch die neue Version von Pageant aufrufen.

Mitte 2024 war das clien-seitige Update unter Win11 nicht nötig, sehr wohl aber unter Win10. Die App WebSSH unter Android kann auch alte Schlüssel am neunen Server verwenden.

Putty Gen

Nach dem Installieren startet das kleine Programm mit diesem Fenster und man kann gleich eine Schlüsselpaar generieren. Welchen Typ es braucht, verrät der Admin des Zielservers, die in den Screenshots angeführten sind aber standard. Unser Server braucht den Typ “SSH-2 RSA”.

Public und Private RSA-Key generieren und verwenden – André does… (1)

Es folgt die kuriose Aufforderung mit der Maus im grauen Feld herumzufahren, dabei generiert man Zufallswerte:

Public und Private RSA-Key generieren und verwenden – André does… (2)

Danach folgt das letzte Fenster, hier gibt man dem erzeugten Schlüsselpaar einen Namen (oder belässt den angeführten) und vergibt idealerweise ein Passwort für den eigenen privaten Schüssel.

Danach nicht auf Generate klicken, das ist nur ein Neustart der Prozedur.

Auch nicht auf Save public key klicken. Das erzeugt eine*.key-Datei mit Zeilenumbrüchen, die man auf Ubuntu-Servern nicht brauchen kann. Um diesen Key zu speichern: rechte Maustaste auf das Feld mit dem Zahlen- und Buchstaben-Code, “alles auswählen”, dann “kopieren” und dies in eine leere ASCII-Text-Datei (Texteditor) einfügen.

Den Button Save private keykann man aber anwählen, um eine*.ppk-Datei zu speichern.

Public und Private RSA-Key generieren und verwenden – André does… (3)

Wenn das Schlüsselpaar bereits generiert ist und der öffentliche Schlüssel bereits am Server liegt, kann man trotzdem noch das Passwort ändern: unter File lädt man den privaten Schlüssel und ändert was man braucht, generiert aber anschliessend nur den privaten Schlüssel neu.

Key auch unter Linux verwendbar

Will man einen unter Windows generierten Schlüssel auf einem Linux-Desktop verwenden, so muss dieser ein spezielles Format haben, das ebenso PuttyGen erzeugen kann. Dafür lädt man den privaten Schlüssel in PuttyGen und exportiert dann weiter unter Conversions > Export OpenSSH key. Diese Datei spielt man dann auf dem Linux-Rechner unter ~/.ssh/authorized_keys. Damit diese Datei auch später verwendet werden kann, darf sie nur vom betreffenden user lesbar sein, also führt man unter ~/.shh diesen Befehl aus chmod og-rwxauthorized_keys.

Keys am Handy unter Android

Auch hier braucht man einen richtig formatierten public key. Man kann einen existierenden laden (Bild unten links) oder einen neuen wie oben genieren, dann aber als OpenSSH key exportieren.

Public und Private RSA-Key generieren und verwenden – André does… (4)

Public und Private RSA-Key generieren und verwenden – André does… (5)


Wir besprechen das einrichten mit JuiceSSH.

Zuerst müssen wir einen User unter Manage Connections undIdentitäten anlegen. An dem User hangen auch die privaten Schlüssel.

Public und Private RSA-Key generieren und verwenden – André does… (6)

Public und Private RSA-Key generieren und verwenden – André does… (7)


Das Interface fragt nach einen Namen, einen Kennwort und dem privaten Schlüssel. Dieser erscheint anschliessend in einer Liste.

Zuletzt speichert man die “Identität”.

Public und Private RSA-Key generieren und verwenden – André does… (10)

Public und Private RSA-Key generieren und verwenden – André does… (11)


So wie die User, müssen Verbindungen zuerst angelegt werden, um später aufgerufen zu werden. Unter Adresse fügt man die IP und dem Port an. Unter Identität wählt man jene zuvor definiert an, die natürlich zum Server passen muss bzw. muss zuvor der public key vom Administrator hochgespielt worden sein.

Public und Private RSA-Key generieren und verwenden – André does… (12)

Public und Private RSA-Key generieren und verwenden – André does… (13)


Zuletzt folgt das konkrete Verbinden: im Startmenü steht die Verbindung und im folgenden wird das Passwort für den private key abgefragt. Wenn alles eingeben wurde, startet anschliessend ein klassisches SSH-Fenster.

Public und Private RSA-Key generieren und verwenden – André does… (14)

Public und Private RSA-Key generieren und verwenden – André does… (15)


Schlüssel verwenden

Der öffentliche Schlüssel muss nun an den Server-Admin geschickt werden. Er muss nicht speziell geschützt werden.

Diese Datei wird dann auf dem Linux-Rechner unter ~/.ssh/authorized_keys abgelegt. Damit die Datei auch später verwendet werden kann, darf sie nur vom betreffenden User lesbar sein, also führt man unter ~/.shh diesen Befehl aus:chmod og-rwxauthorized_keys.

Mit Pageant und Putty

Pageant und Putty müssen installiert sein. Man startet zuerst Pageant, das geht indem man die Datei *.ppk anwählt. Jetzt wird das zuvor vergeben Passwort abgefragt. Das Programm versteckt sich dann ggf. in der Taskleiste und auf die wenigen Menüpunkte kommt man mit der rechten Maustaste:

Public und Private RSA-Key generieren und verwenden – André does… (16)
  • Unter View Key bzw. Add Key kann man den zuvor gerierten Schlüssel sehen bzw. weitere hinzufügen und hierin verwalten.
  • Unter New Session startet der normale Putty-Dialog zum Eintragen neuer Server.
  • Unter Saved Sessions befinden sich jene, die bereits mit RSA-Key im Putty Dialog gespeichert wurden. Wählt man eine dieser an, startet sofort die Console mit dem Login.

Nach der Eingabe des Usernamens, folgt keine weitere Passwortabfrage, aber es wird der verwendete Schlüssel anzeigt:

login as: awAuthenticating with public key "rsa-key-20190104" from agentWelcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-42...)Last login: Mon Jan 14 17:04:43 2019 from ...aw@www:~$ _

Sicherheitslücke im Büro

Schliesst man nun Konsole und Putty, so bleibt aber Peagant mit dem privaten Schüssel in der Taskleiste aktiv. Das gilt auch wenn man den Computer verlässt und jemand anderer gelangt zur Tastatur, dann reicht der Username zum einloggen!

Putty, Pageant und root-Zugriff

Es ist sinnvoll, direktes Einloggen mit den Root-Account zu verbieten, auch und besonders mit RSA-Schlüssel. Es ist besser wenn man das Passwort öfters einfach ändern kann, User aber zuvor trotzdem mit Schlüssel-Paaren einloggen. Das heisst, man wechselt mit su dann zu root.

Soweit so logisch, aber Putty ist hier eigenwillig. Man kann nämlich bei Peageant den privaten Schlüssel angeben und mit dem Passwort entsperren, anschliessend Putty unabhängig von Pageant öffnen und ohne Passwort einloggen. Bloss kann man dann nicht mehr zu root wechseln! Das geht nur wenn man Putty direkt über New Session oder Saved Sessions gestartet hat.

Unter Linux

Hier braucht man kein spezielles Programm, dieser Befehl reicht zum Verbinden: ssh ~/.ssh/authorized_keys [USER]@[SERVER-IP].

SFTP mit Pageant FileZilla

Auch FileZilla kann einen initiierten privaten Schlüssel von Pageant nützen. Man gibt dazu die etwas kurios benannte Verbindungsart Interaktiv und nur den Usernamen an. Mit Verbinden loggt man direkt ohne weitere Passwortangabe ein. Dafür muss der Server naturlich unter der angegeben Adresse antworten. Unter Umständen ist das nicht der Name sondern nur die IP-Adresse.

Alternativ loggt man zuvor viaPageant ein.

Public und Private RSA-Key generieren und verwenden – André does… (17)

Man kann hier aber auch der Auswahl Schlüsseldatei die *.ppk-Datei angeben und es wird dann bei jedem Verbinden zuvor nach dem Passwort gefragt.

Auch hier, nach dem Schliessen von FileZilla bleibt der Schlüssel in Pageant aktiv und entsperrt solange der Computer an ist.

Private tunnel via Putty und PgAdmin4 zu einer PostgreSQL-Datenbank

Wenn ein Server gut abgesichert ist, kommt man auch nicht direkt mit IP, Port, User und Passwort an die Datenbank. Es bestünde nun die Möglichkeit, die Datenbank per RSA-Key anzusprechen, die Sache spielt sich unter/etc/postgresql/[version]/main/postgresql.conf ab, hier sind Verweise zussl zu finden.

Man kann aber auch nur mit Putty und einen normalen User-RSA-Key Programme wiePgAdmin4 anhängen:

  • Wie oben startet man Putty über Pageant, geht dann aber auf New Session (sonst startet man direkt die Console).
  • Anwählen der Verbindung mit dem RSA-Schlüssel (in unseren Beispielen carto.net.2019).
  • Unter Category runterscrollen bis Connection/SSH/Tunnels und hier folgendes angeben:
    • Source port 5432. Dieser Port wird am eigenen Rechner verwendet. Er kann auch anders lauten, z. B. 12222.
    • Destination localhost:5432. So wird der entfernte Server intern angesprochen (wenn man über die Konsole eingeloggt ist). 5432 ist der PostreSQL-Port.
    • Auf Add klicken, unter forwarded Ports steht nun L5234localhost:5432oder z. B. L12222localhost:5432.
  • Diese Einstellungen oben unter Session wieder speichern.
  • Mit diesen Einstellungen eine Konsole öffnen und einloggen.

Public und Private RSA-Key generieren und verwenden – André does… (18)

Anlegen einer neuen Session

Public und Private RSA-Key generieren und verwenden – André does… (19)

SSH Tunnel anlegen


SSH-Tunnel unter Linux

Der Tunnel ist viel einfacher im ssh-Befehl eingbaut:ssh -L 12222:localhost:5432 ~/.ssh/authorized_keys [USER]@[SERVER-IP]. Das weitere Prozedere unterPgAdmin4 ist ident.

Verbinden mit PgAdmin4

UnterPgAdmin legt man nun eine neue Serververbindung an:

  • Unter General gibt man einen beliebigen Namen an, ich habe hier localhost gewählt. Nicht wundern wenn eine Fehlermeldung kommt, denn die wichtigen Anweisungen sind unter Connection anzugeben und das Interface ist anscheinend ungeduldig.
  • UnterConnection gibt man die normale Verbindung an. localhost ist hier der eigene Rechner, der Port 5423 ebenso der des eigenen Rechners, die restlichen Angaben sind wiederum der Datenbank am entfernten Server zuzurechnen. Hat man oben den Port 12222 gewählt, so muss man diesen auch hier einsetzen.
  • Wenn man über Pageant und Putty angemeldet ist, kann man sich nun mit der Datenbank inPgAdmin verbinden. Es kann passieren, dass die Verbindung aktiv angezeigt ist, aber die Datenbanken etc. sich nicht ausklappen lassen. Dann hilft es den DB-Server zu trennen und am selben Weg wieder zu verbinden. Anscheinend startet der Tunnel nicht automatisch oder pgAdmin sendet kein volles connect-Signal für gespeicherte Einträge. Ein Refresh alleine reicht nicht.

Public und Private RSA-Key generieren und verwenden – André does… (20)

pgAdmin mit scheinbar normalen Verbindungsparametern, die aber auf einen SSH-Tunnel weisen.

Public und Private RSA-Key generieren und verwenden – André does… (21)

Abmelden und wieder anmelden wenn das Listing nicht aufgebaut wird.


Das Beispiel oben mit dem anderen Port, eben 12222, schaut in dem Masken so aus:

Public und Private RSA-Key generieren und verwenden – André does… (22)

SSH-Tunnelausgang auf Port 12222 gelegt

Public und Private RSA-Key generieren und verwenden – André does… (23)

Im pgAdmin4 gibt man nun diesen lokalen Port 12222 an.


Fehler oder unerwartete Eigenschaften

  • Manche Tabellen lassen sich nicht editieren, wenn sie keine Primary Keys haben.
  • Wenn man pgAdmin schliesst ohne sich darin vom Server abzumelden oder wenn man über die Konsole per exit ausloggen will während pgAdmin-Verbindungen aktiv sind, wird das Logout nicht aktiv angenommen. Nur wenn man Fenster schliesst, wird die Verbindung unterbrochen.

Public und Private RSA-Key generieren und verwenden – André does… (24)

Unterbrochenes Logout

Am Handy unter Android

Die App WebSSH arbeitet sauber und ohne Werbung. Die Hilfestellungen sind etwas dürftig. Man muss öfters herumprobieren. So klappte bei mir kein alter Schlüssel, weil der Server einen Update unterzogen wurde. Aber die App sagte nicht dass die Schlüsselversion falsch ist. Was aber klappt: den Schlüssel direkt in der App ablegen.

In den zwei Abbildungen unten ist eine Verbindung bereits eingetragen. Liegt keine vor, muss man eine neue mit dem “+” oben rechts anlegen. Davor allerdings SSH auswählen. Eine gespeicherte Verbindung editiert man durch längeres halten darauf. So kommt man zu dem Screenshot unten rechts.

Der Name (abc) ist frei zu vergeben. Unter Host kommt die IP oder eine Web-Adresse. Weiter unten den Usernamen eingeben und genau darunter einen Schlüssel anlegen. Kein Passwort eingeben.

Public und Private RSA-Key generieren und verwenden – André does… (25)

WebSSH Start

Public und Private RSA-Key generieren und verwenden – André does… (26)

WebSSH Server Daten


Hier ist der Schlüssel namens “111” (frei wählbar bereits angelegt). Über “+” fügt man neue Schlüssel als Datei zu oder man speichert den Code des Schlüssels ab. Das ist mit dem Schlüssel bereits erfolgt. Den Code fügt man einfach im Feld darunter ein. Passwort ist hier normalerweise nicht einzugeben.

Public und Private RSA-Key generieren und verwenden – André does… (27)

WebSSH Keys

Public und Private RSA-Key generieren und verwenden – André does… (28)

WebSSH Direkt abgelegter Schlüssel


Wenn alles richtig eingeben wurde, kann man die existierende Verbindung in der Startseite anwählen. Es folgt dann die zum Schlüssel gehörige Passwortabfrage und man ladet im serverseitigen System. Die Schriftgrösse ist nichts für Altersfernsichtige, man kann sie ändern, aber dann ist die sichtbare Fläche mit Tastatur noch kleiner.

Die Tastatur hat eine zusätzliche obere Zeile über welche man nötige Tasten wie Tab abgeben kann. Sie ist leider zweigeteilt.

Public und Private RSA-Key generieren und verwenden – André does… (29)

WebSSH Login

Public und Private RSA-Key generieren und verwenden – André does… (30)

WebSSH Verbunden


Public und Private RSA-Key generieren und verwenden – André does… (2024)

FAQs

How to generate RSA public key and private key? ›

Procedure
  1. Once installed, run the OpenSSL command prompt. Type openssl to start the application.
  2. To generate a new RSA private key, type: genrsa -out {path_to_pem_file} 2048. ...
  3. To generate a public key, type: rsa -pubout -in {path_private_pem} -out (path_public_pem)

What is the difference between public and private RSA keys? ›

Public key cryptography is a method of encrypting or signing data with two different keys and making one of the keys, the public key, available for anyone to use. The other key is known as the private key. Data encrypted with the public key can only be decrypted with the private key.

How to identify public key and private key? ›

The public key mechanism is called "asymmetric" because there are two keys for different purposes. The private key is to be shared between two parties. The public key can be used by anyone but the private key is to be shared between two parties only.

How are public and private keys generated? ›

The most common algorithms used to generate public keys are Rivest-Shamir-Adleman, elliptic curve cryptography and Digital Signature Algorithm. A public key can be given to any person with whom an individual wants to communicate, whereas a private key belongs to the individual it was created for and isn't shared.

How is the RSA key generated? ›

Key generation. The keys for the RSA algorithm are generated in the following way: Choose two large prime numbers p and q. To make factoring harder, p and q should be chosen at random, be both large and have a large difference.

How long does it take to generate a RSA key? ›

It takes approximately 5 seconds to generate a 1024-bit-length RSA key pair, then encrypt and decrypt the random message. This time can vary for each execution.

Do you decrypt with a public or private key? ›

Typically, the recipient's public key is used to encrypt the data and the recipient then uses their private key to decrypt the data.

Is public or private key better? ›

Secure Communication: Public key encryption ensures that sensitive communication between two parties remains secure, even if intercepted by hackers. The public key is used to encrypt the message, and the recipient's private key is used for decryption. This ensures that only the intended recipient can read the message.

What does RSA public key look like? ›

A RSA public key consists in two integers, the modulus (n) and the public exponent (e). It is normally encoded as an ASN. 1 structure that is a SEQUENCE of two INTEGER values.

How to extract a public key from a certificate? ›

Extract the public key
  1. Open your public certificate.
  2. Navigate to Details tab and select Copy to File.
  3. Select Next in the certificate export wizard.
  4. Select Base-64 encoded X. ...
  5. Specify the name of the file you want to export, then select Next.
  6. Select Finish when the wizard completes the certificate export.
Apr 18, 2023

Can a private key have multiple public keys? ›

It's actually possible to generate several public keys from the same private key. However, you'll only ever have one private key. And while it's theoretically possible to guess or calculate the public key from the private key, the reverse would take hundreds of years to crack.

Can you calculate public key from private key? ›

The public key is calculated from the private key using elliptic curve multiplication, which is irreversible: K=k∗G, where k is the private key, G is a constant point called the generator point, and K is the resulting public key.

Are public keys secret? ›

It is known only to its owner. As for the public key, there's no need to keep it secret.

How to generate RSA public key? ›

Generate RSA Keys
  1. Open a shell using Putty or another utility.
  2. Use commands to generate an RSA key file. Type the following command to generate RSA keys: ssh-keygen -t rsa. ...
  3. Navigate to the. rsakey. folder that you created in step 2b. ...
  4. Locate the public key beginning with. ssh. and copy the key.

rsa - Understanding Public key and Private key ...Cryptography Stack Exchangehttps://crypto.stackexchange.com ›

If I encrypt a message with public key, I can only decrypt with private key. True, except that public/private keys must match, and there might be several equiva...
You have probably viewed a digital certificate, and one which contains the key pair (the public and private keys) and also the distributed version (with just th...
We use SSH, HTTPS, etc., on a daily basis. These programs depend on RSA asymmetric key encryption and decryption for providing security.

How do I get my RSA private key? ›

The Private Key is always generated alongside the CSR as a pair. Its exact location depends on the server it was generated on. Most server types and tools: Upon generating a CSR, the Private Key will be located in the same directory as the CSR.

How to generate ssh RSA key? ›

Create an SSH key pair on Microsoft Windows
  1. Download PuTTy Key Generator PuTTygen.exe file and run it.
  2. In the Key menu, select SSH-2 RSA Key.
  3. In Parameters, select the RSA option.
  4. In Number of bits in generated key field, enter at least 2048, ideally 4096.
  5. In Actions, select Generate.
  6. A progress bar appears.
May 24, 2024

How do I get a public and private key from a certificate? ›

Locating a private key in Windows
  1. Open Microsoft Management Console.
  2. In the Console Root, expand Certificates (Local Computer)
  3. Locate the certificate in the Personal or Web Server folder.
  4. Right click the certificate.
  5. Select Export.
  6. Follow the guided wizard.
Aug 19, 2022

How to generate a RSA certificate? ›

Generate RSA Public Key:
  1. openssl rsa -in private_key. pem -pubout -out public_key. pem.
  2. This command derives the corresponding RSA public key from the private key stored in private_key. pem and saves it to a file named public_key. pem . The public key is used to encrypt data that only the private key holder can decrypt.
Sep 11, 2023

References

Top Articles
Review: Hisense 55A85H (A85H-serie) oled-tv
Specialisten review van de Hisense A90G OLED tv - Coolblue
Ilovepersuasian
Beau Is Afraid Showtimes Near Island 16 Cinema De Lux
Craigslist Apartments For Rent Cheap
Jimmy Johns Delivery Hours
Palmbeachschools Jobs
Www Craigslist Com Wisconsin Milwaukee
Understanding Filmyzilla - A Comprehensive Guide to Movies
Craigslist In Lakeland
Wharton County Busted Newspaper
Recruitment Drive/Quick guide
New Orleans Pelicans News, Scores, Status, Schedule - NBA
Schuylkill County Firewire
They Cloned Tyrone Showtimes Near Showbiz Cinemas - Kingwood
Jackie Knust Wendel
Sphynx Cats For Adoption In Ohio
Barefoot Rentals Key Largo
Gw2 Rank Doesnt Matter Here
Weather Channel Quincy
National Weather Service Monterey
Flappy Bird Cool Math Games
Mobiloil Woodville Tx
Long-awaited Ringu sequel Sadako doesn’t click with the 21st century
Craigs List Duluth Mn
Emma D'arcy Deepfake
Craigs List Plattsburgh Ny
Axolotls for Sale - 10 Online Stores You Can Buy an Axolotl - Axolotl Nerd
Espn Masters Leaderboard
Week 8 – Quarter 1 Matatag DLL Daily Lesson Logs | September 16 – 20, 2024 DLL
Merrick Rv Loans
Aldi Sign In Careers
Gran Turismo Showtimes Near Epic Theatres Of Ocala
02080797947
Alexandria Van Starrenburg
Brublackvip
Hatcher Funeral Home Aiken Sc
How Much Does Hasa Pay For Rent 2022
100X35 Puerto Rico Meaning
Weather Tomorrow Hourly At My Location On Netflix Movies
Indiana Immediate Care.webpay.md
Alexis Drake Donation Request
'I want to be the oldest Miss Universe winner - at 31'
Tyrone Unblocked Games Bitlife
Busted Bell County
Download Diablo 2 From Blizzard
Houses For Rent in Eureka, CA
Six Broadway Wiki
Circle K Wikipedia
Panguitch Lake Webcam
Clarakitty 2022
Latest Posts
Article information

Author: Kelle Weber

Last Updated:

Views: 5628

Rating: 4.2 / 5 (73 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Kelle Weber

Birthday: 2000-08-05

Address: 6796 Juan Square, Markfort, MN 58988

Phone: +8215934114615

Job: Hospitality Director

Hobby: tabletop games, Foreign language learning, Leather crafting, Horseback riding, Swimming, Knapping, Handball

Introduction: My name is Kelle Weber, I am a magnificent, enchanting, fair, joyous, light, determined, joyous person who loves writing and wants to share my knowledge and understanding with you.