microsoft / microsoft/vscode-remote-release

Remote SSH requires scp -O; need configurable extra flags and option to skip server transfer

Open
#11,380 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ssh
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

  1. Configurable extra flags for both ssh and scp:
    e.g., a setting additionalScpFlags and additionalSshFlags that the client appends to command invocations.
  2. 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.
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.