SSH in Bitbucket und Github

Könnte sein, dass es nun etwas technisch wird, aber ich wollte das einfach für mich hier behalten. Ich habe hier ein paar Dinge weggelassen, was man als Einsteiger benötigt. Insofern ist das mehr eine „note to myself“. Vielleicht ist es aber auch hilfreich für den einen oder anderen Leser.

Seit einigen Jahren schreibe ich alle meine Texte in Markdown, bevor ich sie dann erst ganz am Ende in ein Word-Dokument kippe und mit einer ordentlichen Rechtschreibprüfung an meine Kunden ausliefere. Vor ungefähr zwei Jahren lege ich meine Texte in einem GIT-Repository ab und pulle und pushe meine Texte. Das heißt, ich arbeite in Schleifen. Statt alles in Echtzeit zu schreiben, lege ich fest, wann meine Kunden eine neue Version sehe. Das hat den großen Vorteil, dass sie den Vorgang des Schreibens - also das Arbeiten am offenen Herzen - nicht sehen müssen.

Inzwischen arbeite ich an verschiedenen Rechnern an unterschiedlichen Orten:

  • mit meinem IPad Pro überall
  • mit meinem Windows-Rechner überwiegend im Büro
  • mit meinem Raspberry Pi (der mein Schreibrechner ist) meistens aus meinem Gartenschuppen. Walden lässt grüßen.

Ihr seht, das sind verschiedene Betriebssysteme. Und hierin liegt der Charme von Git: Bevor ich starte, ziehe (pull) ich die letzte Version vom Server und arbeite. Das geht im Terminal so:

› git pull

Dann schreibe ich in einem bestehenden Dokument und wenn ich fertig bin, „committe“ ich meine Änderungen. Ich sage also „ja, ich bin mit dem neuen Stand zufrieden“. Dann tippe ich im Terminal:

› git commit -am “einen Kommentar zum Fortschritt”

Habe ich an einem neuen Markdown-Dokument geschrieben, muss ich dem GIT-System erst sagen, dass ich das gerne beobachten lassen muss. Das geht so:

› git add .

So, jetzt habe ich alles “committed”, dann schiebe ich es mit

› git push

auf den Server.

Mit einem SSH-Schlüssel “gitten”

Hört sich komisch an, oder? Um die Änderungen in ein Repository zu bringen, sei es Github, Bitbucket oder Gitea, muss ich bei den Diensten einen ssh-Schlüssel ablegen, damit ich darauf Zugriff bekommen.

Zunächst musst Du einen SSH-Schlüssel erstellen

› ssh-keygen

Das System erstellt einen privaten und öffentlichen Schlüssel. Das kannst Du hier prüfen

› dir .ssh

Nun gehst Du in Bitbucket und gibst dort deinen SSH-Schlüssel ein. In der Regel musst Du den Inhalt des öffentlichen Schlüssel einkopieren. Den kannst Du im Terminal so ausgeben

› cat ~/.ssh/id_rsa.pub

Wenn Du etwas per GIT aktualisierst, musst Du Dein Passwort eingeben. Das kann nerven. Wenn Dein Rechner vertrauenswürdig ist, kannst Du die Passworteingabe mit diesen beiden Befehl automatisieren

› eval $(ssh-agent)

› ssh-add ~/.ssh/id_rsa

Nun kannst Du den Workflow auf allen Geräten einrichten.