update yubikey switch

This commit is contained in:
DeveloperDurp 2025-08-30 07:58:50 -05:00
parent 48d49081be
commit 70a16bbf8b
7 changed files with 81 additions and 5 deletions

53
.config/scripts/ssh.sh Executable file
View file

@ -0,0 +1,53 @@
#!/bin/bash
yubikeys=$(ykman list)
# Check if any YubiKeys were found
if [[ -z "$yubikeys" ]]; then
echo "No YubiKeys found."
exit 1
fi
selected=$(echo "$yubikeys" | wofi --dmenu -i)
# Check if the user made a selection
if [[ -z "$selected" ]]; then
echo "No selection made."
exit 1
fi
YUBIKEY_SERIAL=$(echo "$selected" | awk '{print $NF}')
if [ -L "$HOME/.ssh/id_rsa" ]; then
rm "$HOME/.ssh/id_rsa"
fi
# Create the symbolic link
ln -s "$HOME/.config/yubikey/id_$YUBIKEY_SERIAL" $HOME/.ssh/id_rsa
chmod 600 "$HOME/.ssh/id_rsa"
if [ -n "$SSH_AGENT_PID" ]; then
kill "$SSH_AGENT_PID"
fi
# Start a new ssh-agent
eval $(ssh-agent -s)
# Update tmux sessions
tmux ls 2>/dev/null | cut -d ':' -f1 | while read -r session_name; do
tmux setenv -t "$session_name" SSH_AUTH_SOCK "$SSH_AUTH_SOCK"
tmux setenv -t "$session_name" SSH_AGENT_PID "$SSH_AGENT_PID"
tmux refresh-client -t "$session_name"
echo "Updated tmux session: $session_name"
done
# Check if the symbolic link was created successfully
if [ -L "$HOME/.ssh/id_rsa" ]; then
echo "Symbolic link created successfully at $target"
else
echo "Failed to create symbolic link at $target"
exit 1
fi
notify-send "SSH Key has been updated for $(echo $selected | awk '{split($0,a,"("); print a[1]}')"
exit 0

View file

@ -8,8 +8,7 @@ alias pwsh='pwsh -NoLogo'
alias pbpaste='xclip -selection clipboard -o'
alias ls='eza'
alias ll='eza -l'
alias lg='~/.config/scripts/yubikey.sh lazygit'
alias lazygit='~/.config/scripts/yubikey.sh lazygit'
alias lg='lazygit'
alias tree='eza -T'
alias cat='bat -P'
alias network='nmtui'
@ -20,5 +19,4 @@ alias connectvpn='sudo openvpn ~/Documents/openvpn/openvpn.ovpn'
alias gc='git commit -a'
alias gd='git diff'
alias gp='git push'
alias bw='NODE_OPTIONS="--no-deprecation" bw'
alias git='~/.config/scripts/yubikey.sh git'
alias bw='NODE_OPTIONS="" bw'

View file

@ -22,6 +22,7 @@ set $bitwarden flatpak run com.bitwarden.desktop
set $menu wofi
set $scripts "$HOME/.config/scripts"
set $otpScript "$HOME/.config/scripts/otp.sh"
set $sshScript "$scripts/ssh.sh"
set $newScript "$HOME/.config/scripts/sessions.sh"
set $next_or_new swaymsg -r -t get_workspaces | jq -r --arg OUTPUT $(swaymsg -t get_outputs -r | jq -r '.[] | select(.focused == true) | .name') '(. | (max_by(.num) | .num)) as $max | [.[] | select(.output == $OUTPUT)] | (max_by(.num) | .num) as $maxOutput | (.[] | select(.focused == true) | .num) as $current | if $maxOutput > $current then "next_on_output" else $max + 1 end'
@ -100,7 +101,9 @@ bindsym $mod+control+n exec swaync-client -t -sw
# Start otp script
bindsym $mod+Shift+o exec 'zsh -c ". $otpScript"'
# Start ssh script
bindsym $mod+Shift+y exec 'zsh -c ". $sshScript"'
# Audio Switch
bindsym $mod+Shift+s exec 'bash -c ". $scripts/audioswitch.sh"'

View file

@ -0,0 +1,10 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2
gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACBopXJ3WrTK14NOlcbTSriKN7HKMsl22F/Ge3Do
3gNdNgAAAARzc2g6AAABAF6FOOhehTjoAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2
9tAAAAIGilcndatMrXg06VxtNKuIo3scoyyXbYX8Z7cOjeA102AAAABHNzaDoBAAAAgNmr
3qLxvZzujrI7RpTw0+JxdhTdJkcFp6XXl5FIUvMle/Ql+PxougbOwESf9FzZtHGBAK+Eie
zEk8aIK74fqxEbG9lo+Yfte5WEhEibW+U7z25VyZoOhZDGGDR30Ato7zb1Q4M7i/NAhWl0
kLm2MPipU3uEaQAkh4G7m+fiAc3nAAAAAAAAAB9kZXNrdG9wLWFyY2gtMDktMDgtMjAyNS
15dWJpa2V5AQI=
-----END OPENSSH PRIVATE KEY-----

View file

@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIGilcndatMrXg06VxtNKuIo3scoyyXbYX8Z7cOjeA102AAAABHNzaDo= desktop-arch-09-08-2025-yubikey

View file

@ -0,0 +1,10 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAASgAAABpzay1zc2
gtZWQyNTUxOUBvcGVuc3NoLmNvbQAAACDbGzUmeVq/udAIc/iHmcbehe4GesJtSfLil0C2
3WyhWgAAAARzc2g6AAABCM6TagvOk2oLAAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY2
9tAAAAINsbNSZ5Wr+50Ahz+IeZxt6F7gZ6wm1J8uKXQLbdbKFaAAAABHNzaDoBAAAAgOQ9
IpvCe40b/gNFaY2gQSZ0pFRUCnXaXO6EeKH8wSSDegIZSjbn56mty5IP9Lu7tb7tYW0emR
qG274uTcHpnxANEIVVInJ8gxvLJXB7drDz2Nfv0ORaTqYf8Cl8JXq681byZe3/MvmcJbSF
BJqD7aNEntfYJk+YpaXbdxQ5WgoUAAAAAAAAACNkZXNrdG9wLWFyY2gtMDktMDgtMjAyNS
15dWJpa2V5TmFubwECAwQFBg==
-----END OPENSSH PRIVATE KEY-----

View file

@ -0,0 +1 @@
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINsbNSZ5Wr+50Ahz+IeZxt6F7gZ6wm1J8uKXQLbdbKFaAAAABHNzaDo= desktop-arch-09-08-2025-yubikeyNano