initial commit

This commit is contained in:
2026-02-17 23:08:31 +01:00
commit 398e3e4ed6
2 changed files with 58 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env bash
set -xo pipefail
if [ -z "${BW_SESSION}" ]; then
export BW_SESSION=$(bw unlock --raw)
fi
bw sync
user=$(whoami)
machine=$(cat /proc/sys/kernel/hostname)
folder_name="ssh-keys/$machine/$user"
folder=$(bw get folder $folder_name)
if [ $? -ne 0 ]; then
folder=$(bw get template folder | jq ".name=\"$folder_name\"" | bw encode | bw create folder)
fi
folder_id=$(echo $folder | jq ".id")
save_keypair() {
key_name=$(basename $1)
key_content=$(cat $1)
key_entry=$(bw get item $key_name)
if [ $? -ne 0 ]; then
login=$(bw get template item.login | jq ".username=\"$user@$machine\" | .password=\"$key_content\" | .totp=\"\"")
payload=$(bw get template item | jq ".folderId=$folder_id | .name=\"${key_name%.pub} \" | .login+=$login | .notes=\"\"" )
item=$(echo $payload | bw encode | bw create item)
item_id=$(echo $item | jq -r ".id")
bw create attachment --file $1 --itemid $item_id
bw create attachment --file ${1%.pub} --itemid $item_id
fi
}
for public_key in $HOME/.ssh/*.pub; do
save_keypair $public_key
done