microsoft / microsoft/vscode-remote-release
Remote SSH requires scp -O; need configurable extra flags and option to skip server transfer
Nobody has claimed this yet.
- Dominant language
- Dockerfile
- Stars
- 4.2k
- Forks
- 469
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
In my environment the SSH/SCP handshake only succeeds when scp is invoked with the -O (legacy scp) flag. I don’t have administrative control over the remote Linux host and cannot change its SSH/SCP configuration.
Even if I manually pre‑copy and unpack the server payload on the remote, the client still initiates a transfer step and fails because I cannot inject -O nor can I disable the transfer logic. This effectively blocks the connection/setup.
Environment
Client OS: Windows 11
Client OpenSSH version: OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2
Remote OS: Linux RHEL 9.6 (Plow)
Tool/extension & version: VS Code Remote - SSH 0.112.0
Expected Behavior
Ability to successfully connect to the remote host even when scp -O is required in this environment.
If the server component is already present and compatible on the remote, no download/transfer should occur.
Actual Behavior
Connection/setup fails because:
- The client always attempts a file transfer of the server payload, and
- There is no way to add extra flags (like -O) to the scp invocation,
- Nor a way to skip the transfer step altogether.
Proposal / Feature Requests
- Configurable extra flags for both ssh and scp:
e.g., a setting additionalScpFlags and additionalSshFlags that the client appends to command invocations. - Pre‑presence check before download:
Detect whether the required server component already exists and is compatible (e.g., run the server binary and read its version tag); skip download if checks pass. - Option to disable client‑initiated file transfer entirely:
A setting to prevent transfers and rely on a manual/air‑gapped bootstrap when needed.
Rationale: These options would unblock environments that mandate legacy scp (-O), regulated networks, or air‑gapped hosts where client‑side transfers are restricted.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are named in the issue. Start by locating the Remote - SSH server setup path and the code that invokes ssh/scp, then inspect how an existing remote server is detected. Done means the requested flag and transfer-suppression behaviors are specified, implemented, and covered for compatible preinstalled servers and restricted scp environments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- vscode
- Domain
- devtools, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100