diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-06-18 23:05:23 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-06-18 23:05:23 +0200 |
commit | 11ee207cc10e72aa96fad4715b14a84c686ad480 (patch) | |
tree | bc98d60bb59ab0fdc183c6673fe8fe143fd367bc /bin/guiscripts/keyadd | |
parent | 305c8e8ff1fc4a76fb42151105e119e8266df57c (diff) | |
parent | 8c5d85923a970bd60657848e1c2c6f627c4329d9 (diff) |
Merge branch 'main' of db:dotfiles
Diffstat (limited to 'bin/guiscripts/keyadd')
-rwxr-xr-x | bin/guiscripts/keyadd | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/bin/guiscripts/keyadd b/bin/guiscripts/keyadd new file mode 100755 index 0000000..b5bc4d9 --- /dev/null +++ b/bin/guiscripts/keyadd @@ -0,0 +1,52 @@ +#!/bin/sh + +# For when script calls itself +if [ -n "$PASSWORD" ] +then + pass show "$PASSWORD" && + exit + exit 1 +fi + + +if [ "$MENUCMD" = "tofi" ] +then + menucmd="tofi --matching-algorithm=normal" +else + menucmd="$MENUCMD" +fi + + +die () +{ + echo "$1" >&2 +} + +SSHFOLDER="$HOME/.ssh" + +key="$(find "$SSHFOLDER" -iname "*.pub" | + sed "s,$SSHFOLDER/,," | # Clean + sed 's/\.pub$//' | + $menucmd)" +die "key: $key" + +test ! -f "$SSHFOLDER/$key" && exit 1 + +HOST=$(hostnamectl hostname | sed 's/forlure/fl/;s/montecristo/mc/') +die "HOST: $HOST" + +if [ "$1" = "-d" ] +then + ssh-add -d - < "$SSHFOLDER"/$key.pub && + notify-send "$0" "deleted <b>$key</b>" || + notify-send "$0" "could not delete." +elif ! ssh-add -l | grep -q "$(ssh-keygen -lf "$SSHFOLDER"/$key)" +then + export PASSWORD="keys/$HOST/ssh/$key" + export SSH_ASKPASS="$0" + ssh-add - < "$SSHFOLDER"/$key && + notify-send "$0" "added <b>$key</b>" +else + die "key already added." + notify-send "$0" "key already added." +fi |