I got vscode-remote-ssh
(both ends running nixos
) working with @mudrii 's hack from here, slightly modified [^1].
However, when opening a remote host, my agent forwarding doesn’t appear to work, causing git
access (with gitgraph
) to be broken.
The issue appears to be that the agent socket is set wrongly in the remote vscode env:
SSH_AUTH_SOCK=/run/user/1000/vscode-ssh-auth-sock-449592820
instead of
SSH_AUTH_SOCK=/tmp/ssh-XXXXqgpHXm/agent.1962632
which I should get with a normal forwarded ssh agent.
When opening the remote, I also get the following error (a few times):
The terminal process failed to launch: Path to shell executable "/bin/sh" does not exist.
but in the end I do get a working remote integrated terminal as expected. I suspect however, that somewhere along the failed shell starts the correct forwarded socket/env gets lost, causing me to end up with a “default”/local env.
I tried to explicitly set terminal.integrated.profiles.linux
: and related settings on both ends, without effect.
[^1]: I had to add this to make the server actually start unattended correctly:
sed -i -r 's/^(.*server-main.js")\s+(.*)$/\1 --accept-server-license-terms \2/g' "$bin_dir/bin/code-server"
[[ -f "$bin_dir/server.sh" ]] && ln -sf "$bin_dir/bin/code-server" "$bin_dir/server.sh"
rm -rf "$bin_dir/../../extensions" "$bin_dir/extensions"
ln -sf ~/.vscode/extensions "$bin_dir/extensions"