summaryrefslogtreecommitdiff
path: root/dotfiles/system/.local/bin/reset-auth
blob: a3aaeb5d8fa83c113aa11254ab0dbb693ad04ac0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash
# reset-auth
# Resets all GPG and SSH authentication agents
# Useful when auth gets stuck or after unlocking gpg keys
#
# Craig Jennings <c@cjennings.net>

echo "Resetting authentication agents..."

# Kill GPG agent cleanly
echo "  Stopping gpg-agent..."
gpgconf --kill gpg-agent 2>/dev/null

# Kill any remaining gpg-agent processes
killall gpg-agent 2>/dev/null

# Kill SSH agent
echo "  Stopping ssh-agent..."
killall ssh-agent 2>/dev/null

# Clear GPG cache
echo "  Clearing GPG cache..."
gpgconf --reload gpg-agent 2>/dev/null

# Restart GPG agent
echo "  Starting gpg-agent..."
gpg-connect-agent /bye 2>/dev/null

# Note: SSH agent typically starts automatically via shell profile or systemd
# If you need to manually start ssh-agent, uncomment:
# eval "$(ssh-agent -s)"

echo "✓ Authentication agents reset complete"
echo ""
echo "Note: You may need to source your shell profile or start a new terminal"
echo "      for SSH agent to be fully reinitialized."