Um eine sichere Kommunikation mit einem GIT Repository über SSH einzurichten, muss man unter Windows 10 folgender Maßen vorgehen.
- Einen SSH Schlüssel generieren (private und publid), dieser wird automatisch in das Vezeichnis ~/.ssh (Home Verzeichnis des Users) gelegt.
ssh-keygen -o
2. Der public key muss dann hinterlegt werden beim GIT repository. Dies passiert meist über eine Web GUI. Der private Key verlässt nie die Person, die den Key generiert hat, ansonsten ist die Sicherheit nicht gegeben.
Der private Key muss mindestens die Dateirechte 600 haben, damit nur der Inhaber Darauf Zugriff hat, anosnten verweigert der ssh-agent die Zusammenarbeit und weißt auf die falschen Zugriffsrechte zu.
3. Eintragen der Verbindungsdaten in die ssh config Datei ~/.ssh/config
Host github.com IdentityFile ~/.ssh/.ssh/my_host_public_key
Bei falschen Zugriffsrechten des private Keys erscheint die Meldung:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/user/.ssh/my_key' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored.
Die Zugriffsrechte 644 sind zu freigiebig. Hier sind angemessener 600 Rechte:
chmod 600 /home/user/.ssh/my_key
4. privaten SSH Key dem SSH Agent mitteilen:
ssh-add ~/.ssh/my_host_private_key
5. Test der SSH Verbindung (optional). Hinweis: Hier muss auch die Subdomain hinter dem @ verwendet werden. Es erscheint dann eine Willkommensnachricht bei Erfolg.
ssh -T git@github.com
6. GIT clone mit SSH
git clone git@github.com:sample-username/sample-repo.git