Kategorien
GIT

mehrere SSH Keys für denselben Hot verwenden

Unter Windows oder Linux können für z.B. github.com oder gitlab.com mehrere SSH Keys verwendet werden, um sich mit unterschiedlichen Accounts auf derselben Domain verbinden zu können.

In der ssh config Datei unter ~/.ssh/config können beide SSH Keys angeben werden mit unterschiedlichen Host Einträgen.

Die Host Einträge kann mann selber vergeben und sie müssen unterschiedlichen sein:

#gitlab 1
Host private_gitlab_com
  Hostname gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab_private
  
# gitlab 2
Host company_gitlab_com
  Hostname gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab_company

Das wichtigste ist, das man jetzt beim clone Befehl „gitlab.com“ ersetzt durch den definierten Host Wert.

Aus

git clone git@gitlab.com:foo/bar.git

wird zu:

git clone git@company_gitlab_com:foo/bar.git

Kategorien
GIT

GIT mit SSH Verbindung unter Windows mit Ubuntu WSL2 einrichten

Um eine sichere Kommunikation mit einem GIT Repository über SSH einzurichten, muss man unter Windows 10 folgender Maßen vorgehen.

  1. 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
Kategorien
Amazon AWS Docker GIT MySQL PHP PHP 7 Projekte Redis Symfony

Projekt: baby-taschenrechner.de

Das gerade fertiggestellt Projekt baby-taschenrechner.de beschäftigt sich mit den Fragestellungen rund um die Entwicklung des eigenen Kindes:

  • Wie groß wird mein Kind werden in x-Jahren
  • Wie schwer wird mein Kind in x-Jahren
  • Ist mein Kind zu schwer/zu dünn
  • Welche Kleidergröße wird es wann tragen?

Die Webseite soll Eltern dabei helfen herauszufinden, wann sie welche Kleidergröße kaufen müssen, um im nahenden Winter/Sommer das passende zu Hause zu haben.

Eltern können so einschätzne, ob das Kind zu dünn oder zu dick ist  für ihr Alter/Größe/Gewicht-Verhältnis.

Für die Realiserung wurden folgende Technologien verwendet:

Symfony 3, Docker, MySQL, PHP, GIT, Google Material Design, Amazon AWS

Kategorien
GIT Version Control

PHPStorm .idea Ordner aus dem GIT entfernen aber lokal behalten

Wenn man ausversehen den .idea Ordner mit in seiner GIT Versionierung übernommen hat, ist es leider über die IDE PHPStorm nicht möglich, diese wieder zu entfernen.

Man kann aber einfach über die Konsole einen Befehl ausführen, der den Ordner aus dem GIT entfernt und lokal weiter behält (kein löschen der mühsam eingerichteten Einstellungen!).

git rm --cached -r -f  .idea/

Danach sollte in der .gitignore der Ordner eingetragen werden:

/.idea