Wrong platform detection VS Code Remote SSH - visual-studio-code

I'm connecting from my Ubuntu VS code device to a remote SSH host in a Debian server.
The server is hosted by a provider and it has several hosts within the same virtual server, same IP but different SSH users and home locations. Basic SSH connection with public keys works fine with any host.
I can connect fine with one of the hosts but I can't connect with the rest. The error that appears in the logs is this one:
[12:11:52.698] Spawned 94877
[12:11:52.857] > local-server-1> Spawned ssh, pid=94885
[12:11:52.862] stderr> OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
[12:11:52.994] stderr> debug1: Server host key: ssh-ed25519 SHA256:8p5hBTP1YciOurE0u2QXJXNf5HsxOWN/UxaekPk0oRs
[12:11:53.246] stderr> Authenticated to 134.0.8.95 ([134.0.8.95]:22) using "publickey".
[12:11:53.776] > ready: 643d843dd5e6
[12:11:53.799] Platform: windows
[12:11:53.799] Remote command length: 8200/8192 characters
[12:11:53.821] stderr> /bin/bash: line 3: powershell: command not found
[12:12:09.700] Terminating local server
[12:12:09.702] Resolver error: Error: Connecting with SSH timed out
at g.Timeout (/home/aamping/.vscode/extensions/ms-vscode-remote.remote-ssh-0.90.1/out/extension.js:1:585348)
at Timeout._onTimeout (/home/aamping/.vscode/extensions/ms-vscode-remote.remote-ssh-0.90.1/out/extension.js:1:630527)
at listOnTimeout (node:internal/timers:559:17)
at process.processTimers (node:internal/timers:502:7)
[12:12:09.708] ------
It seems it's detecting wrong the platform, because the host that works it displays properly Linux as the platform detected.
I checked and it didn't created yet a .vscode-server folder in the host or any other configuration file I might be able to delete for resetting settings.
I tried disabling the option "Use Local Server" and set "Linux" as platform in "Remote Platform". But it seems this host doesn't support disabling the "Use Local Server" option.
Any idea how to force the Platform to "Linux" without disabled "Use Local Server"?
Any other idea?
Thanks

Related

SSH connection to git not working anymore on WSL2

I'm using a windows 11 OS and was previously using SSH just fine to clone, pull and push my code to github using WSL2 running Ubuntu 22.0, however, I dont know what exactly happened (I have done this before, and it didn't bring any problems), I had issues installing mongo db so I used Oracle Virtual Box running Ubuntu 18.04, generated keys to get the code from my github and clone my project. After that, I noticed I couldn't push code to github on WSL2.
After the connection problems i went back to my VM to finish some work but it also failed to connect, the behavior was the same as WSL. Now I'm using SSH in some weird way, this i what I have to do to clone something for my repo now, ssh://git#ssh.github.com:443/Mtsumi/AirBnB_clone_v2.git. Please help.
mtsumi#Aly:~$ ssh -vT git#github.com
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to github.com [140.82.121.3] port 22.
debug1: connect to address 140.82.121.3 port 22: Connection timed out
ssh: connect to host github.com port 22: Connection timed out
I follow a Odin Project whenever i do ssh stuff with github and it has worked several times, Nothing new, so i dont understand
anyone who might have a similar issue should just try another network, if your keys are okay, config file is okay and you still have issues with SSH timing out, just try another wifi or mobile hotspot. I think my ISP blocked my SSH port, that's why i had issues but I fixed it.

VSCode RemoteSSH - connection timeout

Beginning today, I am unable to connect to my remote server in VSCode. The error in the output shows this repeating 5 times:
[15:34:11.799] SSH Resolver called for "ssh-remote+my-server", attempt 5, (Reconnection)
[15:34:11.805] SSH Resolver called for host: my-server
[15:34:11.808] Setting up SSH remote "my-server"
[15:34:11.819] Using commit id "d045a5eda657f4d7b676dedbfa7aab8207f8a075" and quality "stable" for server
[15:34:11.832] Install and start server if needed
[15:34:11.849] Running script with connection command: ssh -T -D 53101 "myserver" bash
[15:34:11.857] Terminal shell path: C:\WINDOWS\System32\cmd.exe
[15:34:28.879] Resolver error: Error: Connecting with SSH timed out
at g.Timeout (c:\Users\username\.vscode\extensions\ms-vscode-remote.remote-ssh-0.90.1\out\extension.js:1:585348)
at Timeout._onTimeout (c:\Users\username\.vscode\extensions\ms-vscode-remote.remote-ssh-0.90.1\out\extension.js:1:679743)
at listOnTimeout (node:internal/timers:559:17)
at process.processTimers (node:internal/timers:502:7)
[15:34:28.948] ------
The port number in that SSH command is different for each attempt. If I copy that command out and run it in cmd manually from my local machine and add in -vvv, then I see the connection is successful and the prompt sits on "debug2: exec request accepted on channel 2" infinitely. I can't tell what the problem is. Is the local forwarding port failing to be created and listen on? Is there something with the remote server causing the timeout? Oddly, if I delete the .vscode-server directory on the remote and try to reconnect, then it actually does reinstall it fine. But I still get the error that VSCode can't connect to the remote server.
I forgot that the VSCode Remote extensions have their own repository. Turns out my issue is https://github.com/microsoft/vscode-remote-release/issues/7324
Ensuring that I set remote.SSH.useLocalServer to true in my user settings.json fixed the issue until it is resolved in-code.

VScode SSH extension keeps disconnecting after moving to a new location

I recently moved to a different country, but I work remotely and therefore I thought that my workspace wouldn't be interrupted. However, now that I'm trying to connect to my workspace through ssh in vscode, the connection keeps disconnecting. I connect to the workspace through the VPN my workspace provides, and while I can connect to the linux box I work in via ssh, I cannot connect to it through vscode-remote-ssh extension like I did for the past few months. Nothing has changed in terms of settings on my computer. I attached the output vscode provides when I tried to connect below (this is the output from the reconnection attempt but the first connection attempt looks exactly the same).
[15:36:11.086] ------
[15:36:11.086] SSH Resolver called for "ssh-remote+203.0.113.0", attempt 2, (Reconnection)
[15:36:11.087] SSH Resolver called for host: 203.0.113.0
[15:36:11.087] Setting up SSH remote "203.0.113.0"
[15:36:11.091] Using commit id "e5e9e69aed6e1984f7499b7af85b3d05f9a6883a" and quality "stable" for server
[15:36:11.092] Install and start server if needed
[15:36:11.096] Using SSH config file "C:\Users\windowsUser\.ssh\config"
[15:36:11.096] Running script with connection command: ssh -T -D 53043 -F "C:\Users\windowsUser\.ssh\config" 203.0.113.0 bash
[15:36:11.101] Terminal shell path: C:\Windows\System32\cmd.exe
[15:36:11.240] >
[15:36:11.240] Got some output, clearing connection timeout
[15:36:13.669] > linuxUser#203.0.113.0's password:
[15:36:13.670] Showing password prompt
[15:36:29.329] Got password response
[15:36:29.330] "install" wrote data to terminal: "*******"
[15:36:29.358] >
>
[15:36:31.047] > 3a294560e95d: running
> Acquiring lock on /home/linuxUser/.vscode-server/bin/e5e9e69aed6e1984f7499b7af85b3
> d05f9a6883a/vscode-remote-lock.linuxUser.e5e9e69aed6e1984f7499b7af85b3d05f9a6883a
>
[15:36:31.073] > Found existing installation at /home/linuxUser/.vscode-server/bin/e5e9e69aed6e1984
> f7499b7af85b3d05f9a6883a...
> Found running server...
>
> *
> * Reminder: You may only use this software with Visual Studio family products,
> * as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057)
> *
>
> Checking server status on port 34103 with wget
>
[15:36:31.108] > 3a294560e95d: start
>
[15:36:31.391] > sshAuthSock====
> listeningOn==34103==
> osReleaseId==ubuntu==
> arch==x86_64==
> webUiAccessToken====
> tmpDir==/run/user/1000==
> platform==linux==
> 3a294560e95d: end
>
[15:36:31.391] Received install output:
sshAuthSock====
listeningOn==34103==
osReleaseId==ubuntu==
arch==x86_64==
webUiAccessToken====
tmpDir==/run/user/1000==
platform==linux==
[15:36:31.392] Remote server is listening on 34103
[15:36:31.392] Parsed server configuration: {"remoteListeningOn":{"port":34103},"osReleaseId":"ubuntu","arch":"x86_64","webUiAccessToken":"","sshAuthSock":"","tmpDir":"/run/user/1000","platform":"linux"}
[15:36:31.393] Starting forwarding server. localPort 53048 -> socksPort 53043 -> remotePort 34103
[15:36:31.395] Forwarding server listening on 53048
[15:36:31.395] Waiting for ssh tunnel to be ready
[15:36:31.396] Tunneled 34103 to local port 53048
[15:36:31.396] Resolved "ssh-remote+203.0.113.0" to "127.0.0.1:53048"
[15:36:31.397] [Forwarding server 53048] Got connection 0
[15:36:31.402] ------
[15:36:31.430] [Forwarding server 53048] Got connection 1
[15:36:31.431] [Forwarding server 53048] Got connection 2
The connection hangs on [Forwarding server 53048] Got connection 2 for a few seconds before disconnecting me and repeating this message (and asking for password again). I tried removing the .vscode-server file from the linux computer, which is then recreated right away but it still doesn't let me connect. I also tried changing the timeout in the vscode settings but this also did nothing. I am unsure why this would happen after simply physically moving the computer from one place to another but remaining on the same vpn, and why I would still be able to connect with regular ssh but just not through the vscode-remote ssh extension.
You might try ssh manually to the server and delete the remote server folder which makes VSCode download it again from scratch.
This has helped me today:
rm -rf ~/.vscode-server/
rm -rf ~/.vscode-remote/
The suggestion comes from the following discussion: https://github.com/microsoft/vscode-remote-release/issues/2513
You might also wanna check if your new network IP is allowed in the target group of the server.
I had the same exact issue, and for me.
I dont have a resolution but a crappy workaround - reboot the far machine.
im running ubuntu 20.04 and once i rebooted, then i can connect from visual studio and connection stays up, BUT once i close the VSC and restart, then i see this issue again, and again i have to reboot the far machine.
EDIT: later i discovered that stopping the sshd daemon with systemctl start/stop sshd also helps this situation - so no need to reboot
This issue is due to a hard coded 20 second timeout in the protocol between the vscode client and the remote server. This is discussed in detail here: https://github.com/microsoft/vscode-remote-release/issues/7497. No fixes for this yet and will hopefully be fixed soon by making this timeout configurable (to allow overcoming these disconnects).

Remote editing over ssh to windows server

Remote SSH plugin states VS Code Insiders has experimental support for Windows 10/Server 1803+ using the official OpenSSH server.
I have the official OpenSSH server installed and configured on Windows Server 2019 1809. I can connect via pubkey authentication and have PowerShell Core over ssh working as well. I tried both Remote SSH and Remote SSH nightly plugin. At first it was complaining that it couldn't find bash. So I installed git bash and added it to the system path. I get the following error when attempting to connect to my windows server:
[16:02:41.398] Log Level: 3
[16:02:41.399] remote-ssh-nightly#2019.12.24000
[16:02:41.399] darwin x64
[16:02:41.401] SSH Resolver called for "ssh-remote+myserver", attempt 1
[16:02:41.401] SSH Resolver called for host: myserver
[16:02:41.401] Setting up SSH remote "myserver"
[16:02:41.413] Using commit id "e74405d11443c5361c31e2bc341866d146eee206" and quality "insider" for server
[16:02:41.414] Testing ssh with ssh -V
[16:02:41.425] ssh exited with code: 0
[16:02:41.425] Got stderr from ssh: OpenSSH_7.9p1, LibreSSL 2.7.3
[16:02:41.430] Running script with connection command: ssh -T -D 51951 -o ConnectTimeout=15 myserver bash
[16:02:41.430] Install and start server if needed
[16:02:43.451] > 5122b1a5b835: running
> Unsupported architecture: MINGW64_NT-10.0-17763 x86_64
> 5122b1a5b835##27##
[16:02:43.452] Got some output, clearing connection timeout
[16:02:43.710] "install" terminal command done
[16:02:43.710] Install terminal quit with output: 5122b1a5b835##27##
[16:02:43.710] Received install output: 5122b1a5b835##27##
[16:02:43.710] Unsupported architecture
[16:02:43.711] Resolver error: The remote host's architecture is not supported
[16:02:43.714] ------
Anybody know the magic sauce to get Remote SSH working w/ Windows 10/Server?
Looks like VSCode is attempting to run bash on the server which I'm guessing would resolve to git's bash which is mingw based as I recall. VSCode should be running Powershell on the server.
Did you include your server in the list of windows remotes in the extension's settings?
Requires "remote.SSH.windowsRemotes" setting. Here is the documentation.
"remote.SSH.windowsRemotes": ["myserver"]

How to set ControlMaster with Remote-SSH in Visual Studio Code?

I use Visual-Studio-Code with Remote-SSH extension and I don't want to authentiaction multiple times after I login. So I search the ControlMater option with ssh_config to setup.
After I connected and I got below error message.
Can't connect to Leo-OA: unreachable or not Linux x86_64 (packet_write_poll: Connection to UNKNOWN port -1: Permission denied)
My environment:
Client:
Visual Studio Code 1.35 Stable
Windows 10 1803
Server:
Ubuntu 16.04 LTS
Below is my setting file
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host STONE-OA
HostName 10.32.21.123
User rock
Host Leo-OA
HostName 10.32.21.123
User root
Port 60001
Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r#%h-%p
ControlPersist 600
I want to know what is the main problem and how to fix. Thanks everybody.
This feature is not supported on Windows.
Simply running ssh on Windows with ControlMater in PowerShell without VS code has problem too. However you can use ControlMater in WSL without problem.
https://code.visualstudio.com/docs/remote/troubleshooting#_enabling-alternate-ssh-authentication-methods
If you are on macOS and Linux and want to reduce how often you have to enter a password or token, you can enable the ControlMaster feature on your local machine so that OpenSSH runs multiple SSH sessions over a single connection.