Public und Private Key
Sie kennen Passwörter als eine Methode, wie Sie sich am Computer “ausweisen” können: wie Sie beweisen können, dass Sie die Person sind, die Zugriff auf den Server haben soll.
Für git wird statt eines Passworts meist ein Schlüsselpaar verwendet. Um das zu verstehen hier ein kurzer Einblick in Asymmetrische Kryptosysteme.
Public Key Cryptography
Abschnitt betitelt „Public Key Cryptography“Klassische Verschlüsselung kennt nur einen Schlüssel: er wird zum ver- und zum ent- schlüsseln verwendet. Das ist eigentlich unpraktisch: wenn ich ein Problem habe eine lange Botschaft ohne Abhören oder Manipulation von A nach B zu bringen, und sie deswegen verschlüssle, dann ist mir ja nicht geholfen: jetzt muss ich erst den geheimen Schlüssel sicher (ohne Abhören oder Manipulation) von A nach B bringen. Das Problem hat jetzt einen kleinern Umfang, aber das Grundproblem bleibt bestehen.
Bei einem asymmetrischen Verschlüsselungsverfahren gibt es zwei verschiedene Schlüssel: einen öffentlichen und einen privaten:
Diese Art der Verschlüsselung wird im Internet z.B. für die Verschlüsselung und Signierung von E-Mail mit GPG verwendet, oder für die Authentifizierung beim Login mit SSH.
Schlüsselpaar erzeugen
Abschnitt betitelt „Schlüsselpaar erzeugen“Das “Schüsselpaar” kann man jederzeit selbst erzeugen: mit dem Kommandozeilen-Programm ssh-keygen:
$ ssh-keygen -t rsa -C "vmustermann.mmt-b2022@fh-salzburg.ac.at"# Erzeugt ein neues Schlüsselpaar, verwendet die E-Mail Adresse in der BeschriftungGenerating public/private rsa key pair.Enter file in which to save the key (/Users/verena/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Your identification has been saved in /Users/verena/.ssh/id_rsa.Your public key has been saved in /Users/verena/.ssh/id_rsa.pub.The key fingerprint is:f3:e8:11:fb:d7:87:db:9d:31:54:be:46:8c:05:cf:b0 vmustermann.mmt-b2014@fh-salzburg.ac.atThe key's randomart image is:+--[ RSA 2048]----+| o || * || E +.|| +..|| S . +.|| * o .|| + . . * || . o . +.*|| . .. .+o|+-----------------+Das Endergebnis sind zwei Dateien: id_rsa enthält den privaten Schlüssel,
id_rsa.pub den öffentlichen Schlüssel.
Beide Schlüssel könnne in einem Text-Editor betrachtet werden, oder im Text einer E-Mail oder eines Chat verschicket werden.
Der private Schlüssel besteht aus einem großen Text-Block innerhalb von zwei Zeilen mit vielen Minus-Zeichen:
-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAy4h50jvgZcVBC4rrc1Q3ooxgPZA74oTtQDXMKkGUSMEJQbZ9HzWfJ6d3HSpluSmCcwxI7tkX7v6lRjCz09xtHFq21agTJWJ8P2YqqNpd7Bda36xf5q8Px8cAYbAKr9sNT8cw6cZBKjGaBqaa7arzcBeQjmB1jqe7CtL1nUexTjWIS8iuXuh7QoECdmf01/Sx19lAzM1w8YtRrBT15K7O97fmGArOfTgWC48+vIiMxj91MPK0LcYinvxdbrY7qaI4bF7+KouiJeIfyjVycXINNAYDAhbj+Im1UYBz1T6VqnIIMpMz4Ga+Rtf3AnkIYYmtTLkvc68H5MEoryrtyjZQCwIDAQABAoIBAQCrRNCeJFyTxwURHXk7tyaJ1e42X+TEnG64lYyUElMhVa7gaRuo44pl5/nHxSGMSm3HOhM1SeFl70pMYjcwlFAMiBlKeQCDePhssSA8rmRSguSpS3f3umBhEAg2K9kSWhY9h7SVQ4saYlrmNdQxIqVvMaUm6eyCeopedV7RVr7Qu6JeQuzGoIL5VyUu52MJ0/kQNhW99jscyE2dZ3VOIKBd0FCziI8n1+39b+OTUbeSTB6dxJweQkvFm0fvwgyE/5E2tVQRgFk2zrFcRfJ8b1GfRRdHkfwJmRC40l4GPpd6bba01U8SLowhxjOx7BXZQB/L5Psj8FQh/22qtzFWzaDBAoGBAPNWFtetmZZWhKzB+Xc18QedGnEjnVHUXpJptPgXF/1GJ4+QXKEq3Uew//UT1odNXeAbpUz6OuR5FRbMofNJHNjdjdb8viVlO9DiSkqlwPJgvREF0n2MwPh9CnaLR7ZIhUo3gqLCBH8fxZ8CHWrdaHqfm27FjufJWAqU/8gFxWoJAoGBANYgGTZeD5Z2ZuLVEmbmVNTvfglCYDoPn2nM6E6DAp1WppIwvPai7Su6GmCmbJAVd+gJiKCCE4Yn80hKR4xcFTFBuoFoRaXw1agJxYrA0i8Ne9Qy7RgaK/SU3nWlL+f5kNx+u1uWwQbVb1hahrHS1MjuHrRA9yUg1aZ+kBpIbb5zAoGAMS6PQ1xlFIu8GSbDgyK16rIILCHkpCtmSfVvjE0unhRV3qBw+Gove1P9B83QqFwswyUTTfGtgYwvhQIrIX7/g52UE4XV8Lz7UAbMuTWzP8nprM0edB3EyvSK7tbL0b3qosuBbeAFBKSpTrAgvf6uJUqpIcRwU8zQLKNc51KzSfECgYEAj+wPRj2+2HFJAloY/lT+3AkFfA/DQgNSMPjrhCoGzd56I3Ti7hvgsi1qoV/7RHVJnQsbbFdB7EBaA1L5+FvEWtFFHMoLVlgkI8g9oN+t5rZ3bs+0ESk2NjUBua2IH7HdLnd4Uz1nDMLVDlv6gPem0k9LD/lCpRAGytvy29em/AUCgYEAj+6NEIj9XWuYccXhimvJxFDRGqYybQyBK5DH+4ceg2IpZMM00lpGeHBMzHcPRALwg3sYNuIIDNTC2HXuf5SGgOQJcZoURoh+CbnjZ1bpJD9djIOMx/zKBLzFeSXDV4AkIdRxvganwBIV1FZFQRPfR9miuRUagMkwT6/LLBxhlJE=-----END RSA PRIVATE KEY-----Der öffentliche Schlüssel bestezt aus einer einzigen Zeile Text, mit der E-Mail Adresse am Ende der Zeile:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLiHnSO+BlxUELiutzVDeijGA9kDvihO1ANcwqQZRIwQlBtn0fNZ8np3cdKmW5KYJzDEju2Rfu/qVGMLPT3G0cWrbVqBMlYnw/Ziqo2l3sF1rfrF/mrw/HxwBhsAqv2w1PxzDpxkEqMZoGpprtqvNwF5COYHWOp7sK0vWdR7FONYhLyK5e6HtCgQJ2Z/TX9LHX2UDMzXDxi1GsFPXkrs73t+YYCs59OBYLjz68iIzGP3Uw8rQtxiKe/F1utjupojhsXv4qi6Il4h/KNXJxcg00BgMCFuP4ibVRgHPVPpWqcggykzPgZr5G1/cCeQhhia1MuS9zrwfkwSivKu3KNlAL vmustermann.mmt-b2022@fh-salzburg.ac.atAuthentisierung für git mit private und public key
Abschnitt betitelt „Authentisierung für git mit private und public key“SSH wird als Übertragungsprotokoll bei der Kommunikations mit einem entfernen Git-Repository verwendet. Somit wird auch die Authentifizierung von SSH mit private und public key verwendet.
Die Konfiguration am Client (Ihrem Rechner) bleibt dabei gleich wie bei
SSH: der private Key liegt als Datei .ssh/id_rsa in Ihrem Homeverzeichnis.
Die Installation am Server wird mit gitlab etwas anders als bei ssh alleine: Sie verwenden die Web-Oberfläche von Gitlab um den Schlüssel hoch zu laden:

Authentisierung für SSH
Abschnitt betitelt „Authentisierung für SSH“Mit SSH (“secure shell”) kann man einen (verschlüsselte) Verbindung mit einem anderen Computer am Internet herstellen um dort mit der Kommandozeile zu arbeiten.
Die Authentisierung kann dabei entweder über ein Passwort oder mit private/public keys erfolgen.
Weiterführende Literatur
Abschnitt betitelt „Weiterführende Literatur“- Asymmetrisches Kryptosystem in der Wikipedia
- Public-key Cryptography in der Englischen Wikipedia
- Generating SSH Keys - englischsprachige Erklärung speziell für github
beantwortet: 0 / 0 (0%)
richtig: 0 / 0 (0%)