Commit Graph

25 Commits

Author SHA1 Message Date
David Tomaschik
fa6a878487 Fix SSH agent forwarding clobbered by local agent in shenv (#14)
* Fix SSH agent forwarding clobbered by local agent in shenv

ssh/rc saves the raw forwarded socket in SSH_REMOTE_AUTH_SOCK before
rewriting SSH_AUTH_SOCK to the stable symlink. shenv was ignoring that
variable, so it saw SSH_AUTH_SOCK as "our link" and fell through to the
systemd lookup, which could overwrite the symlink with a local agent
socket and silently drop the forwarded one.

Now shenv checks SSH_REMOTE_AUTH_SOCK first, giving forwarded sockets
priority over any local agent.

https://claude.ai/code/session_01RhXaFzxJA5D2BcGcz18ipA

* Fix shenv clobbering forwarded SSH socket with local agent in tmux

ssh/rc env changes (including SSH_REMOTE_AUTH_SOCK) are lost because
ssh/rc runs as a sshd child process, not the user's shell. The shell
always receives SSH_AUTH_SOCK set to the raw forwarded socket path.

Fresh SSH login worked fine (step 1 catches the raw socket). The bug
was in tmux new windows: SSH_AUTH_SOCK there is our stable symlink, so
step 1 fails, then steps 2/3 look up the system agent and overwrite the
symlink that ssh/rc just set to the forwarded socket.

Fix: only run the system agent lookup when the stable symlink is already
broken. A valid symlink means ssh/rc (or a previous shenv run) already
set it correctly; don't clobber it.

https://claude.ai/code/session_01RhXaFzxJA5D2BcGcz18ipA

* Remove pointless exports from ssh/rc, add process-model comment

ssh/rc runs as a sshd child process so exports never reach the user's
shell. SSH_REMOTE_AUTH_SOCK was set and exported but never used (a
leftover from a prior failed fix attempt). SSH_AUTH_SOCK was reassigned
to the symlink path and exported, also to no effect. Remove both.

https://claude.ai/code/session_01RhXaFzxJA5D2BcGcz18ipA

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-04-18 19:20:43 -07:00
David Tomaschik
1804357162 Update skel 2026-04-14 10:27:17 -07:00
David Tomaschik
758c59bc8e Updates 2026-03-21 16:23:32 -07:00
David Tomaschik
00696b23fa Updates 2026-02-20 17:15:39 -08:00
David Tomaschik
f50edc1fa6 Work 2026-02-19 13:20:21 -08:00
David Tomaschik
89ae97145e Remove identity file entries 2026-01-27 14:40:36 -08:00
David Tomaschik
d50faa1ec6 Update identity file ordering 2026-01-27 13:33:44 -08:00
David Tomaschik
243da55c86 Update sshrc 2026-01-13 09:25:15 -08:00
David Tomaschik
de8d2cf608 Update 2025-06-04 13:47:00 -07:00
David Tomaschik
50011b1675 update keepalives for ssh 2023-08-09 10:24:48 -07:00
David Tomaschik
80b119f6ad Add hak5 ssh config 2023-07-31 22:37:14 -07:00
David Tomaschik
2db123c772 HashKnownHosts no 2022-02-05 15:38:04 -08:00
David Tomaschik
e6e66b0d05 Handle Xauth in ssh/rc. 2021-01-21 22:37:36 -08:00
David Tomaschik
04d4ab4d25 Improve remote SSH agent 2020-11-06 09:35:45 -08:00
David Tomaschik
5e498f9bcd Change test 2020-07-13 16:26:21 -07:00
David Tomaschik
e4f2cc94b5 Disable ControlMaster for cloud shell. 2020-02-02 13:36:19 -08:00
David Tomaschik
a5dc656656 Add a symlink for SSH_AUTH_SOCK remotely. 2019-06-07 10:42:10 -07:00
David Tomaschik
ea1d3f669b Rework overrides for ssh config. 2018-09-10 16:04:15 -07:00
David Tomaschik
ba497cd5bf Enable syntax highlighting in zsh. 2018-07-04 11:12:37 +02:00
David Tomaschik
4d245198a8 Add SSH canonicalization settings. 2018-06-25 20:45:14 +02:00
David Tomaschik
f005bae9e6 Move SSH config to include-based. 2018-06-02 21:18:26 -07:00
David Tomaschik
f028c2f320 Fix SSH to github when ndots=2. 2018-04-18 16:07:50 -07:00
David Tomaschik
8066f71ef5 Merge branch 'master' of https://github.com/Matir/skel 2017-02-09 19:50:28 -08:00
David Tomaschik
97b5a694d3 Set CheckHostIP no. 2016-02-07 16:05:31 -08:00
David Tomaschik
5577ee29b4 Refactor to include non-dotfile files. 2015-09-03 18:02:48 -07:00