microsoft / microsoft/vscode-remote-release

Remote‑SSH always installs limited server and overwrites full server on Ubuntu 24.04.4 LTS (CloudPanel environment)

Open
#11,638 0 comments 1 reaction 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

Is there an existing issue for this bug?
  • I have searched the existing open issues and found none that apply.
  • If I find any issue of interest that is related or closed, I will included a link to it in this issue.
Required Troubleshooting Steps
  • I have read and performed the troubleshooting steps
  • I have tried both values of the remote.SSH.useLocalServer setting
  • My issue was not covered in the Tips and Tricks linked from the Troubleshooting Wiki.
  • I will include a complete copy of my Remote - SSH logs by running Remote-SSH: Show Log in the command palette or from View > Output in the menu bar
[Optional] Diagnose with Copilot

I did not ask the @remote-ssh participant for help

In step 2 of the troubleshooting wiki, what was the result of running the generated SSH command verbatim outside of VS Code?

I COULD successfully SSH to the remote machine with the generated SSH command

Remote-SSH Log
Remote-SSH Log

[18:35:11.313] Log Level: 2
[18:35:11.338] SSH Resolver called for "ssh-remote+cossocial-dev-vscode", attempt 1
[18:35:11.344] remote.SSH.useLocalServer = false
[18:35:11.344] remote.SSH.useExecServer = true
[18:35:11.344] remote.SSH.bindHost = {}
[18:35:11.345] remote.SSH.showLoginTerminal = false
[18:35:11.345] remote.SSH.remotePlatform = {"cossocial-dev-vscode":"linux"}
[18:35:11.345] remote.SSH.path = C:\Windows\System32\OpenSSH\ssh.exe
[18:35:11.345] remote.SSH.configFile = 
[18:35:11.345] remote.SSH.useFlock = true
[18:35:11.346] remote.SSH.lockfilesInTmp = false
[18:35:11.346] remote.SSH.localServerDownload = auto
[18:35:11.346] remote.SSH.remoteServerListenOnSocket = false
[18:35:11.346] remote.SSH.defaultExtensions = []
[18:35:11.346] remote.SSH.defaultExtensionsIfInstalledLocally = []
[18:35:11.347] remote.SSH.loglevel = 2
[18:35:11.347] remote.SSH.enableDynamicForwarding = true
[18:35:11.347] remote.SSH.enableRemoteCommand = false
[18:35:11.347] remote.SSH.serverPickPortsFromRange = {}
[18:35:11.347] remote.SSH.serverInstallPath = {}
[18:35:11.347] remote.SSH.permitPtyAllocation = false
[18:35:11.348] remote.SSH.preferredLocalPortRange = undefined
[18:35:11.348] remote.SSH.useCurlAndWgetConfigurationFiles = false
[18:35:11.348] remote.SSH.experimental.chat = true
[18:35:11.348] remote.SSH.experimental.enhancedSessionLogs = true
[18:35:11.348] remote.SSH.httpProxy = {"*":""}
[18:35:11.349] remote.SSH.httpsProxy = {"*":""}
[18:35:11.362] VS Code version: 1.119.0
[18:35:11.362] Remote-SSH version: remote-ssh@0.122.0
[18:35:11.363] win32 x64
[18:35:11.367] SSH Resolver called for host: cossocial-dev-vscode
[18:35:11.367] Setting up SSH remote "cossocial-dev-vscode"
[18:35:11.380] Using commit id "8b640eef5a6c6089c029249d48efa5c99adf7d51" and quality "stable" for server
[18:35:11.380] Extensions to install: 
[18:35:11.391] Install and start server if needed
[18:35:11.394] Checking ssh with "C:\Windows\System32\OpenSSH\ssh.exe -V"
[18:35:11.433] > OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2

[18:35:11.440] Running script with connection command: "C:\Windows\System32\OpenSSH\ssh.exe" -T -D 60569 "cossocial-dev-vscode" sh
[18:35:11.441] Generated SSH command: 'type "C:\Users\clubside\AppData\Local\Temp\vscode-linux-multi-line-command-cossocial-dev-vscode-641004553.sh" | "C:\Windows\System32\OpenSSH\ssh.exe" -T -D 60569 "cossocial-dev-vscode" sh'
[18:35:11.442] Using connect timeout of 17 seconds
[18:35:11.443] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[18:35:11.769] > 
[18:35:11.769] Got some output, clearing connection timeout
[18:35:11.783] > 
[18:35:12.747] > db6cc52863fb: running
> Script executing under PID: 22303
[18:35:12.759] > Installing to /home/vscode/.vscode-server...
> db6cc52863fb%%1%%
[18:35:12.775] > Downloading with wget
> wget is from busybox: no
> Program 'wget' appears to support flag '--no-config'
[18:35:13.301] > Download complete
[18:35:13.320] > db6cc52863fb%%2%%
> tar --version: tar (GNU tar) 1.35
> Copyright (C) 2023 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> 
> Written by John Gilmore and Jay Fenlason.
[18:35:13.699] > code 1.119.0 (commit 8b640eef5a6c6089c029249d48efa5c99adf7d51)
> Starting VS Code CLI...
[18:35:13.721] > Spawned remote CLI: 22349
> Waiting for server log...
[18:35:13.768] > Waiting for server log...
[18:35:13.814] > Waiting for server log...
[18:35:13.846] > db6cc52863fb: start
> listeningOn==127.0.0.1:33913==
> osReleaseId==ubuntu==
> arch==x86_64==
> vscodeArch==x64==
> bitness==64==
> tmpDir==/run/user/1007==
> platform==linux==
> unpackResult==success==
> didLocalDownload==0==
> downloadTime==542==
> installTime==377==
> serverStartTime==137==
> execServerToken==1a11111a-1111-1a1a-1111-111111aaa1a1==
> platformDownloadPath==cli-alpine-x64==
> SSH_AUTH_SOCK====
> DISPLAY====
> db6cc52863fb: end
[18:35:13.846] Received install output: 
listeningOn==127.0.0.1:33913==
osReleaseId==ubuntu==
arch==x86_64==
vscodeArch==x64==
bitness==64==
tmpDir==/run/user/1007==
platform==linux==
unpackResult==success==
didLocalDownload==0==
downloadTime==542==
installTime==377==
serverStartTime==137==
execServerToken==1a11111a-1111-1a1a-1111-111111aaa1a1==
platformDownloadPath==cli-alpine-x64==
SSH_AUTH_SOCK====
DISPLAY====

[18:35:13.847] Remote server is listening on port 33913
[18:35:13.847] Parsed server configuration: {"serverConfiguration":{"remoteListeningOn":{"port":33913},"osReleaseId":"ubuntu","arch":"x86_64","sshAuthSock":"","display":"","tmpDir":"/run/user/1007","platform":"linux","execServerToken":"1a11111a-1111-1a1a-1111-111111aaa1a1"},"downloadTime":542,"installTime":377,"serverStartTime":137,"installUnpackCode":"success"}
[18:35:13.851] Starting forwarding server. local port 60575 -> socksPort 60569 -> remotePort 33913
[18:35:13.851] Forwarding server listening on port 60575
[18:35:13.852] Waiting for ssh tunnel to be ready
[18:35:13.853] [Forwarding server port 60575] Got connection 0
[18:35:13.855] Tunneled port 33913 to local port 60575
[18:35:13.855] Resolved "ssh-remote+cossocial-dev-vscode" to "port 60575"
[18:35:13.904] Initizing new exec server for ssh-remote+cossocial-dev-vscode
[18:35:13.904] Resolving exec server at port 60575
[18:35:13.927] [Forwarding server port 60575] Got connection 1
[18:35:14.042] Exec server for ssh-remote+cossocial-dev-vscode created and cached
[18:35:14.042] Extensions to install: 
[18:35:14.055] ------




[18:35:14.056] No hints found in the recent session.
[18:35:14.079] [server] Checking /home/vscode/.vscode-server/cli/servers/Stable-8b640eef5a6c6089c029249d48efa5c99adf7d51/log.txt and /home/vscode/.vscode-server/cli/servers/Stable-8b640eef5a6c6089c029249d48efa5c99adf7d51/pid.txt for a running server...
[18:35:14.281] [server] Installing and setting up Visual Studio Code Server...
[18:35:14.483] [server] Downloading Visual Studio Code server -> /tmp/.tmpr2qxOY/vscode-server-linux-x64.tar.gz
[18:35:14.485] [server] server download progress: 0/111985630 (0%)
[18:35:14.558] [server] server download progress: 2105344/111985630 (2%)
[18:35:14.600] [server] server download progress: 4210688/111985630 (4%)
[18:35:14.637] [server] server download progress: 6316032/111985630 (6%)
[18:35:14.675] [server] server download progress: 8421376/111985630 (8%)
[18:35:14.722] [server] server download progress: 10525328/111985630 (9%)
[18:35:14.754] [server] server download progress: 12630672/111985630 (11%)
[18:35:14.786] [server] server download progress: 14736016/111985630 (13%)
[18:35:14.816] [server] server download progress: 16841360/111985630 (15%)
[18:35:14.848] [server] server download progress: 18946704/111985630 (17%)
[18:35:14.882] [server] server download progress: 21051648/111985630 (19%)
[18:35:14.912] [server] server download progress: 23156992/111985630 (21%)
[18:35:14.941] [server] server download progress: 25262336/111985630 (23%)
[18:35:14.967] [server] server download progress: 27361280/111985630 (24%)
[18:35:14.992] [server] server download progress: 29466624/111985630 (26%)
[18:35:15.020] [server] server download progress: 31571968/111985630 (28%)
[18:35:15.046] [server] server download progress: 33677312/111985630 (30%)
[18:35:15.073] [server] server download progress: 35782656/111985630 (32%)
[18:35:15.100] [server] server download progress: 37885648/111985630 (34%)
[18:35:15.125] [server] server download progress: 39990992/111985630 (36%)
[18:35:15.160] [server] server download progress: 42096336/111985630 (38%)
[18:35:15.200] [server] server download progress: 44201680/111985630 (39%)
[18:35:15.242] [server] server download progress: 46307024/111985630 (41%)
[18:35:15.281] [server] server download progress: 48411968/111985630 (43%)
[18:35:15.312] [server] server download progress: 50517312/111985630 (45%)
[18:35:15.356] [server] server download progress: 52622656/111985630 (47%)
[18:35:15.384] [server] server download progress: 54722560/111985630 (49%)
[18:35:15.416] [server] server download progress: 56827904/111985630 (51%)
[18:35:15.442] [server] server download progress: 58933248/111985630 (53%)
[18:35:15.471] [server] server download progress: 61038592/111985630 (55%)
[18:35:15.502] [server] server download progress: 63143936/111985630 (56%)
[18:35:15.535] [server] server download progress: 65245968/111985630 (58%)
[18:35:15.570] [server] server download progress: 67351312/111985630 (60%)
[18:35:15.599] [server] server download progress: 69456656/111985630 (62%)
[18:35:15.629] [server] server download progress: 71562000/111985630 (64%)
[18:35:15.662] [server] server download progress: 73667344/111985630 (66%)
[18:35:15.693] [server] server download progress: 75772288/111985630 (68%)
[18:35:15.724] [server] server download progress: 77877632/111985630 (70%)
[18:35:15.754] [server] server download progress: 79982976/111985630 (71%)
[18:35:15.788] [server] server download progress: 82083840/111985630 (73%)
[18:35:15.819] [server] server download progress: 84189184/111985630 (75%)
[18:35:15.848] [server] server download progress: 86294528/111985630 (77%)
[18:35:15.879] [server] server download progress: 88399872/111985630 (79%)
[18:35:15.911] [server] server download progress: 90505216/111985630 (81%)
[18:35:15.942] [server] server download progress: 92606288/111985630 (83%)
[18:35:15.980] [server] server download progress: 94711632/111985630 (85%)
[18:35:16.022] [server] server download progress: 96816976/111985630 (86%)
[18:35:16.050] [server] server download progress: 98922319/111985630 (88%)
[18:35:16.140] [server] server download progress: 101027662/111985630 (90%)
[18:35:16.140] [server] server download progress: 103132606/111985630 (92%)
[18:35:16.165] [server] server download progress: 105237950/111985630 (94%)
[18:35:16.173] [server] server download progress: 107343294/111985630 (96%)
[18:35:16.199] [server] server download progress: 109445120/111985630 (98%)
[18:35:16.225] [server] server download progress: 111550464/111985630 (100%)
[18:35:16.230] [server] server download progress: 111985630/111985630 (100%)
[18:35:18.582] [server] server inflate progress: 176/3506 (5%)
[18:35:18.864] [server] server inflate progress: 353/3506 (10%)
[18:35:18.920] [server] server inflate progress: 530/3506 (15%)
[18:35:18.943] [server] server inflate progress: 707/3506 (20%)
[18:35:18.962] [server] server inflate progress: 884/3506 (25%)
[18:35:18.985] [server] server inflate progress: 1061/3506 (30%)
[18:35:19.017] [server] server inflate progress: 1238/3506 (35%)
[18:35:19.048] [server] server inflate progress: 1415/3506 (40%)
[18:35:19.073] [server] server inflate progress: 1592/3506 (45%)
[18:35:19.438] [server] server inflate progress: 1769/3506 (50%)
[18:35:19.474] [server] server inflate progress: 1946/3506 (56%)
[18:35:19.517] [server] server inflate progress: 2123/3506 (61%)
[18:35:19.545] [server] server inflate progress: 2300/3506 (66%)
[18:35:19.569] [server] server inflate progress: 2477/3506 (71%)
[18:35:20.697] [server] server inflate progress: 2654/3506 (76%)
[18:35:20.899] [server] server inflate progress: 2831/3506 (81%)
[18:35:20.945] [server] server inflate progress: 3008/3506 (86%)
[18:35:21.033] [server] server inflate progress: 3185/3506 (91%)
[18:35:21.733] [server] server inflate progress: 3362/3506 (96%)
[18:35:21.886] [server] server inflate progress: 3506/3506 (100%)
[18:35:22.449] [server] Server integrity verified, version: 1.119.0 / 8b640eef5a6c6089c029249d48efa5c99adf7d51 / x64 / 
[18:35:22.487] [server] Server setup complete
[18:35:22.488] [server] Starting server...
[18:35:22.489] [server] Starting server with command... Command { std: "/home/vscode/.vscode-server/cli/servers/Stable-8b640eef5a6c6089c029249d48efa5c99adf7d51/server/bin/code-server" "--connection-token=remotessh" "--accept-server-license-terms" "--start-server" "--enable-remote-auto-shutdown" "--socket-path=/tmp/code-2116cfef-3718-4175-b357-327bd5acfd6b", kill_on_drop: false }
[18:35:22.815] [server] *
[18:35:22.817] [server] * Visual Studio Code Server
[18:35:22.817] [server] *
[18:35:22.818] [server] * By using the software, you agree to
[18:35:22.818] [server] * the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
[18:35:22.818] [server] * the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
[18:35:22.825] [server] Server bound to /tmp/code-2116cfef-3718-4175-b357-327bd5acfd6b
[18:35:22.825] [server] Extension host agent listening on /tmp/code-2116cfef-3718-4175-b357-327bd5acfd6b
[18:35:22.826] [server] parsed location: "/tmp/code-2116cfef-3718-4175-b357-327bd5acfd6b"
[18:35:22.826] [server] 
[18:35:22.827] [server] Server started
[18:35:23.065] [server] [22:35:21] 
[18:35:23.106] [server] 
[18:35:23.106] [server] 
[18:35:23.106] [server] 
[18:35:23.259] [server] [reconnection-grace-time] No CLI argument provided, using default: 10800000ms (10800s)
[18:35:23.278] [server] [22:35:22] Extension host agent started.
[18:35:23.438] [server] [22:35:22] [<unknown>][6fbd8ec4][ManagementConnection] New connection established.
[18:35:23.479] [server] [22:35:22] Started initializing default profile extensions in extensions installation folder. file:///home/vscode/.vscode-server/extensions
[18:35:23.479] [server] [22:35:22] [<unknown>][8d4acfd5][ExtensionHostConnection] New connection established.
[18:35:23.659] [server] [22:35:22] [<unknown>][8d4acfd5][ExtensionHostConnection] <22435> Launched Extension Host Process.
[18:35:24.198] [server] [22:35:22] Completed initializing default profile extensions in extensions installation folder. file:///home/vscode/.vscode-server/extensions
[18:35:25.020] [server] [22:35:23] [<unknown>][8d4acfd5][ExtensionHostConnection] <22435> [reconnection-grace-time] Extension host: read VSCODE_RECONNECTION_GRACE_TIME=10800000ms (10800s)
[18:35:25.020] [server] 

Expected Behavior

Remote‑SSH should detect Ubuntu 24.04.4 LTS as a standard glibc Linux host and install the full VS Code Server package (server-linux-x64). This includes extracting the full server tarball, creating the commit-specific directory under ~/.vscode-server/bin/, and launching the full extension host.

The full server should remain installed and should not be overwritten on subsequent connections.

Actual Behavior

Remote‑SSH incorrectly selects the Alpine server build (cli-alpine-x64) instead of the Ubuntu glibc build. As a result, it installs only the limited server, never extracts the full server tarball, never creates the commit directory, and overwrites any manually installed full server on every connection.

From the log:
platformDownloadPath==cli-alpine-x64==

Steps To Reproduce
  1. Install VS Code 1.119.0 (system installer, Windows 10)
  2. Install Remote‑SSH 0.122.0
  3. Connect to an Ubuntu 24.04.4 LTS server running CloudPanel
  4. Observe that ~/.vscode-server contains only the limited server
  5. Manually install the full server via SSH (works)
  6. Reconnect via Remote‑SSH → full server is deleted and replaced with the limited server
Anything else?

The server environment uses CloudPanel, which manages SSH/PAM/environment files but does NOT create general-purpose system users. No CloudPanel-created users were involved in testing.

The SSH and PAM configuration are clean:

  • /etc/ssh/sshd_config is stock Ubuntu
  • /etc/ssh/sshd_config.d contains only “PasswordAuthentication yes”
  • PAM stack is stock Ubuntu
  • No Match blocks or ForceCommand directives
  • No restricted shells
  • uname, lsb_release, and /etc/os-release all report normal Ubuntu 24.04.4 LTS

This issue is not user-specific. I reproduced the behavior under all of the following accounts:

  1. The original root user created by the Ubuntu Server installer.
  2. A brand‑new Linux user created manually from the command line (via useradd).
  3. No CloudPanel-managed site users were used at any point.

All users had clean home directories and standard shells (/bin/bash). In every case, Remote‑SSH installed the limited server and overwrote the full server on reconnect.

Additionally, I installed the missing build tools required by VS Code Server (e.g., GNU tar, C/C++ toolchain components) to ensure the environment was fully compatible. This did not change the behavior.

This confirms the issue is not caused by:

  • CloudPanel’s user provisioning (none was used)
  • permissions
  • PAM configuration
  • SSHD configuration
  • missing system libraries
  • user environment differences

The key problem appears to be that Remote‑SSH 0.122.0 incorrectly selects the Alpine server build (cli-alpine-x64) for an Ubuntu 24.04.4 LTS host. This forces the limited server and prevents the full server from ever being installed.

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

Start with the Remote-SSH: Show Log output and the generated SSH command described in the issue, focusing on the installer output that selects cli-alpine-x64 on Ubuntu. Reproduce the connection in the CloudPanel Ubuntu 24.04.4 LTS environment and verify that the existing full server is not replaced by the limited server.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, ubuntu
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.