ssh-Schlüssel nicht ständig eingeben
Manche Einträge schreibe ich und dann vergesse ich sofort, was ich geschrieben habe. Andere, für alle anderen scheinbar uninteressante Einträge, wie dieser hier rufe ich alle paar Monate ab, weil ich die Info sonst lange googlen müsste. Genau dafür schreibe ich ja meine Notizen hier. Dieser Eintrag ist wieder mal so ein Spezialeintrag, den nur wenige interessant finden werden.
Mein Ziel: Ich will mit meinem kleinsen Raspberry Pi Zero täglich ein Git-Repository per git pull ziehen, quasi als Backup. Dazu hatte ich zwei Herausforderungen:
- Die ssh-Passphrase solllte, einmal eingegeben, nicht mehr abgefragt werden. Schließlich wollte ich den täglichen Pull automatisieren:
Dazu habe ich die keychain installiert:
sudo apt-get install keychain
Das einmal eingegebene Passwort wird dann in der keychain gespeichert. Das folgende muss ans Ende der Dateil ~/.bashrc (nano ~/.bashrc)
*# setup keychain - ssh-agent management keychain ~/.ssh/id_rsa . ~/.keychain/$HOSTNAME-sh
Zum Einstellen muss die Keychain einmal auf Nulll gestellt werden
keychain –clear
Danach gibst Du ein letztes Mal nach “git pull“ die Passphrase ein. Danach ist das in der keychain gespeichert.
- Automatisieren von Git Pull mit dem crontab
Mit “crontab -e“ kannst Du die crontab einstellen. Gebe dort folgendes ein:
0 * * * su -s /bin/sh root -c ‘cd /DEIN GIT-VERZEICHNIS/ && git pull origin master’
Damit zieht Dein System einmal pro Tag per git pull das repository auf Deinen pi.
Wie findest Du das Verzeichnis, in dem Dein git-repo liegt? Gaha dazu in das Verzeichnis und tippe
pwd
Bei mir liegt das hier: /home/pi/texts
Dementsprechend habe ich folgendes eingetragen:
0 * * * su -s /bin/sh root -c ‘cd /home/pi/texts/ && git pull origin master’
Klappt es? So kannst Du prüfen, ob den cronjob fehlerfrei läuft:
service cron status