Fish - SSH-Agent initial starten
Meine beiden Manjaro Instanzen im Büro und daheim habe ich auf fish als Default-Shell umgestellt.
Nun wollte ich in der Konsole beim ersten Aufruf einer Shell den SSH Agent mitsamt meines SSH Keys starten lassen.
(1)
Dazu muss man einmal den “Ersatz” der ~/.bashrc finden - das wäre die Datei ~/.config/fish/config.fish. Wenn man als Newbie mit fish startet und noch gar nichts auskonfigriert hat, so exisitiert diese Datei nicht. Man muss sie anlegen.
(2)
Trick 2 ist die Meisterung des Starts des SSH-Agents. Unter fish wäre es mit
eval (ssh-agent -c)
aufzurufen.
(3)
Was mir beim Schreiben des allerersten 5-Zeilers so auffiel: die Syntax von fish untescheidet sich durchaus zu anderen Shells, wie sh, ksh oder bash: hier gibt es keinen Abschluss mit “fi” oder “esac”, aber davon verabschiedet man sich sicher gern. Und statt $? ist die Variable $status.
Hier mein kleines Snippet:
cat ~/.config/fish/config.fish # ---------------------------------------------------------------------- # Start SSH agent with my default key # ---------------------------------------------------------------------- ps -ef | grep -v grep | grep "ssh-agent -c" >/dev/null if test $status -ne 0 echo "SSH-Agent wird gestartet..." eval (ssh-agent -c) ssh-add ~/.ssh/id_rsa end # ----------------------------------------------------------------------
Update:
- Nach dem Holen der Prozessliste wurde noch ein
grep -v grep
eingefügt.
weiterführende Links: