Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shell fails to start when Tailscale SSH requires additional authentication check #513

Open
bannert1337 opened this issue Mar 26, 2025 · 1 comment

Comments

@bannert1337
Copy link
Contributor

Describe the bug
When attempting to establish an SSH connection to a host managed by Tailscale, and Tailscale SSH requires an additional authentication step (directing the user to visit a login.tailscale.com URL), XPipe fails to start the shell. It appears XPipe times out waiting for a standard shell prompt, as it doesn't recognize or handle the intermediate authentication message from Tailscale.

Steps to Reproduce

  1. Configure a remote host to use Tailscale SSH.
  2. Ensure the Tailscale configuration or ACLs require the interactive web-based check for SSH sessions (To authenticate, visit: https://login.tailscale.com/...).
  3. Add this host as an SSH connection in XPipe.
  4. Attempt to open a terminal/shell session to this host via XPipe.

Expected behavior
Ideally, XPipe should detect this specific output from Tailscale SSH. It could:

  • Display the authentication message and URL prominently to the user (e.g., in the connection log window or a modal dialog).
  • Potentially pause the timeout countdown while waiting for the user to authenticate via the provided URL.
  • Allow the connection to proceed once authentication is completed externally.

Actual behavior
XPipe doesn't seem to process the Tailscale authentication message. It waits for a standard shell response, which never comes because the SSH session is blocked pending web authentication. After a timeout period, XPipe throws an error indicating the shell did not start up in time, including the Tailscale message within the exception details.

Error Log

06:15:57:716 - error: Shell did not start up in time as we did not receive any response.

# Tailscale SSH requires an additional check.
# To authenticate, visit: https://login.tailscale.com/a/la584e6c010ed1
io.xpipe.core.process.ProcessOutputException: Shell did not start up in time as we did not receive any response.

# Tailscale SSH requires an additional check.
# To authenticate, visit: https://login.tailscale.com/a/la584e6c010ed1
	at io.xpipe.core.process.ProcessOutputException.withParagraph(ProcessOutputException.java:23)
	at io.xpipe.ext.proc.util.e.cf(SourceFile:1465)
	at io.xpipe.ext.proc.n.p(SourceFile:1689)
	at io.xpipe.ext.proc.ssh.o.p(SourceFile:113)
	at io.xpipe.ext.proc.n.D(SourceFile:587)
	at io.xpipe.ext.proc.n.start(SourceFile:276)
	at io.xpipe.app.ext.ShellSession.start(ShellSession.java:30)
	at io.xpipe.core.store.SingletonSessionStore.startSessionIfNeeded(SingletonSessionStore.java:54)
	at io.xpipe.app.ext.ShellStore.getOrStartSession(ShellStore.java:27)
	at io.xpipe.ext.base.action.RunScriptActionMenu$TerminalRunActionProvider$Action.execute(RunScriptActionMenu.java:36)
	at io.xpipe.app.comp.store.StoreEntryWrapper.runAction(StoreEntryWrapper.java:345)
	at io.xpipe.app.comp.store.StoreEntryComp.lambda$buildMenuItemForAction$46(StoreEntryComp.java:508)
	at io.xpipe.app.util.ThreadHelper.lambda$runFailableAsync$1(ThreadHelper.java:45)
	at io.xpipe.app.util.ThreadHelper.lambda$wrap$0(ThreadHelper.java:22)
	at java.lang.VirtualThread.run(VirtualThread.java:329)

Environment

  • XPipe Version: 15.8/2025-03-23-08-10
  • Operating System: CachyOS (Arch Linux)
  • Tailscale Version (Client): 1.80.3
  • Remote Host OS: Arch Linux
  • Remote Tailscale Version (Server): 1.80.0

Additional context
This issue prevents users from leveraging XPipe's shell capabilities with Tailscale SSH setups that enforce this additional authentication layer, which is becoming increasingly common for enhanced security.

@crschnick
Copy link
Member

I will try that on Linux, I think on Windows the tailscale app with open that link automatically

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants