Skip to content

Commit 3c2fd56

Browse files
AnjanJclaude
andcommitted
Add 1Password SSH + Touch ID security docs
Add SSH security section to README explaining 1Password SSH Agent setup with Touch ID for biometric git push approval. Add detailed setup guide and recommended settings to QUICK_REFERENCE.md. Clearly documents that approval is per-session (not per-push) and recommends short auto-lock timeout for frequent re-authentication. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 007ea5f commit 3c2fd56

2 files changed

Lines changed: 61 additions & 0 deletions

File tree

QUICK_REFERENCE.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,41 @@ git remote set-url origin git@github.com-work:company/repo.git
184184

185185
**Restore old SSH keys:** `cp -r ~/.dotfiles_backup_*/ssh/ ~/.ssh/`
186186

187+
### 1Password SSH Agent — Touch ID for Git
188+
189+
If you chose 1Password during install, every new terminal session requires Touch ID before SSH operations (push, pull, clone).
190+
191+
**Recommended settings** (1Password → Settings → Developer → SSH Agent → Advanced):
192+
193+
| Setting | Recommended | Effect |
194+
|---------|------------|--------|
195+
| Ask approval for each new | `application and terminal session` | Per-tab, not global |
196+
| Remember key approval | `until 1Password locks` | Expires on lock |
197+
198+
**Recommended** (1Password → Settings → Security):
199+
200+
| Setting | Recommended | Effect |
201+
|---------|------------|--------|
202+
| Lock when device locks or sleeps | ✅ enabled | Locks with your Mac |
203+
| Lock after device is idle for | `1 minute` | Short timeout = frequent re-auth |
204+
205+
**Important:** approval is per-session, not per-push. Once approved in a terminal tab, subsequent pushes go through until 1Password locks. A shorter auto-lock timeout means more frequent biometric prompts.
206+
207+
**Manual setup** (if you didn't choose 1Password during install):
208+
```bash
209+
# 1. Enable SSH Agent in 1Password → Settings → Developer
210+
# 2. Create the socket symlink:
211+
mkdir -p ~/.1password
212+
ln -sf ~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock ~/.1password/agent.sock
213+
214+
# 3. Add to ~/.ssh/config:
215+
# Host *
216+
# IdentityAgent ~/.1password/agent.sock
217+
218+
# 4. Test:
219+
ssh -T git@github.com
220+
```
221+
187222
## 💼 Work Identity Management
188223

189224
| Command | What it does |

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,32 @@ brew bundle install
537537
- **tmux**: `.tmux.conf`
538538
- **Neovim**: `.config/nvim/lua/plugins/*.lua`
539539

540+
## 🔒 SSH & Security
541+
542+
### 1Password SSH Agent (Recommended)
543+
544+
During install, you can choose **1Password SSH Agent** for SSH key management. This gives you:
545+
546+
- **Touch ID for git push** — each new terminal session requires biometric approval before SSH operations
547+
- **No key files on disk** — keys live in your 1Password vault, encrypted and synced
548+
- **Works everywhere** — GitHub, GitLab, Bitbucket, Codeberg, self-hosted Git
549+
550+
**How it works:**
551+
1. Install sets up `~/.ssh/config` to use the 1Password agent socket
552+
2. When you `git push` in a new terminal session, 1Password prompts for Touch ID
553+
3. Approval lasts until 1Password locks (configurable timeout)
554+
555+
**Recommended 1Password settings for maximum security:**
556+
| Setting | Value | Why |
557+
|---------|-------|-----|
558+
| Ask approval for each new | `application and terminal session` | Per-tab approval, not global |
559+
| Remember key approval | `until 1Password locks` | Approval expires on lock |
560+
| Auto-lock after idle | `1 minute` (or shortest you're comfortable with) | Frequent re-authentication |
561+
562+
> **Note:** This is per-session, not per-push. Once you approve in a terminal tab, subsequent pushes in that tab go through until 1Password locks. For additional protection, consider a short auto-lock timeout.
563+
564+
See [QUICK_REFERENCE.md](QUICK_REFERENCE.md#ssh-setup) for SSH troubleshooting and testing commands.
565+
540566
## 🆘 Troubleshooting
541567

542568
### Homebrew Not Found

0 commit comments

Comments
 (0)