tailscale/ssh/tailssh
Percy Wegmann 7d83056a1b ssh/tailssh: fix SSH on busybox systems
This involved the following:

1. Pass the su command path as first of args in call to unix.Exec to make sure that busybox sees the correct program name.
   Busybox is a single executable userspace that implements various core userspace commands in a single binary. You'll
   see it used via symlinking, so that for example /bin/su symlinks to /bin/busybox. Busybox knows that you're trying
   to execute /bin/su because argv[0] is '/bin/su'. When we called unix.Exec, we weren't including the program name for
   argv[0], which caused busybox to fail with 'applet not found', meaning that it didn't know which command it was
   supposed to run.
2. Tell su to whitelist the SSH_AUTH_SOCK environment variable in order to support ssh agent forwarding.
3. Run integration tests on alpine, which uses busybox.
4. Increment CurrentCapabilityVersion to allow turning on SSH V2 behavior from control.

Fixes #12849

Signed-off-by: Percy Wegmann <percy@tailscale.com>
2024-08-21 11:44:41 -05:00
..
testcontainers ssh/tailssh: fix SSH on busybox systems 2024-08-21 11:44:41 -05:00
incubator_linux.go ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
incubator.go ssh/tailssh: fix SSH on busybox systems 2024-08-21 11:44:41 -05:00
privs_test.go ssh/tailssh: fall back to using su when no TTY available on Linux 2024-05-29 13:15:17 -05:00
tailssh_integration_test.go ssh/tailssh: fix SSH on busybox systems 2024-08-21 11:44:41 -05:00
tailssh_test.go cmd/k8s-operator,k8s-operator/sessionrecording,sessionrecording,ssh/tailssh: refactor session recording functionality (#12945) 2024-07-29 13:57:11 +01:00
tailssh.go cmd/k8s-operator,k8s-operator/sessionrecording,sessionrecording,ssh/tailssh: refactor session recording functionality (#12945) 2024-07-29 13:57:11 +01:00
user.go ssh/tailssh: try fetching group IDs for user with the 'id' command 2024-04-23 08:54:17 -05:00