Skip to content

SSH and SCP commands to tailscale ssh endpoints do not return correct error / success codes #6054

@SebastianZaha

Description

@SebastianZaha

What is the issue?

Issue found while testing the mutagen file synchronization tool with a server where I use tailscale --ssh.

That program attempts to run a remote agent via a ssh command ssh user@tailscalehost agent and handles the 127 POSIX error code for when the command does not exist. tailscale ssh just returns an exit code of 1, although I think it writes the correct exit code in stderr. (see below).

Aside from that, a normal (and successful) scp command to a tailscale --ssh host also returns EOF with exit code 1 on my machine.

Local ssh version on arch linux: core/openssh 9.1p1-1 [installed].

Steps to reproduce

sebi@archdesktop ~/devel/mutagen $ ssh deckbox@a1 boguscommand
/bin/bash: boguscommand: command not found
exit status 127
sebi@archdesktop ~/devel/mutagen $ echo $?
1
sebi@archdesktop ~/devel/mutagen $ ssh deckbox@a1.bifolia.net boguscommand
bash: boguscommand: command not found
sebi@archdesktop ~/devel/mutagen $ echo $?
127
sebi@archdesktop ~/devel/mutagen $ scp README.md deckbox@a1.bifolia.net:
README.md                                                                     100% 5058   189.3KB/s   00:00    
sebi@archdesktop ~/devel/mutagen $ echo $?
0
sebi@archdesktop ~/devel/mutagen $ scp README.md deckbox@a1:
README.md                                                                     100% 5058   158.6KB/s   00:00    
EOF
sebi@archdesktop ~/devel/mutagen $ echo $?
1

Are there any recent changes that introduced the issue?

No response

OS

Linux

OS version

Ubuntu 18.04

Tailscale version

1.32.1

Bug report

BUG-b56db22c2e3ba12f87fd30ea839658e217bf7311f497485a617add42aac24bdb-20221025090330Z-0104a27f39e6c969

Metadata

Metadata

Assignees

No one assigned

    Labels

    L3 Some usersLikelihoodP2 AggravatingPriority levelT5 UsabilityIssue typebugBugsshRelating to Tailscale SSH https://tailscale.com/blog/tailscale-ssh/

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions