Reputation: 506
So I'm using the "Remote - SSH" plugin in VSCode to connect to my VPS and edit my code. I lost the connection, then had to hard-reset it after 30+ min. Now I can't access it with VSCode anymore [putty works] and get Could not establish connection to "[vps-ip]". Permission denied (publickey,password).
when starting VSCode in ssh up or when reloading the connection.
I also get this log every time.
What would I have to do, to get this to work normally again?
Here is the log I replaced some stuff with [...]
[18:42:52.792] Log Level: 2
[18:42:52.795] [email protected]
[18:42:52.795] win32 x64
[18:42:52.797] SSH Resolver called for "ssh-remote+[vps-ip]", attempt 1
[18:42:52.797] SSH Resolver called for host: [vps-ip]
[18:42:52.798] Setting up SSH remote "[vpsip]"
[18:42:52.801] Acquiring local install lock: C:\Users\[myname]\AppData\Local\Temp\vscode-remote-ssh-[vps-ip]-install.lock
[18:42:52.816] Looking for existing server data file at c:\Users\[myname]\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-ssh\vscode-ssh-host-[vps-ip]-[id]\data.json
[18:42:52.817] Using commit id "[id]" and quality "stable" for server
[18:42:52.817] Install and start server if needed
[18:42:52.820] Checking ssh with "ssh -V"
[18:42:52.875] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
[18:42:52.876] Checking ssh with "C:\WINDOWS\System32\OpenSSH\ssh.exe -V"
[18:42:52.917] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
[18:42:52.917] Checking ssh with "C:\Program Files\Git\usr\bin\ssh.exe -V"
[18:42:52.993] > OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
[18:42:52.994] askpass server listening on \\.\pipe\vscode-ssh-askpass-[askpass]-sock
[18:42:52.995] Spawning local server with {"ipcHandlePath":"\\\\.\\pipe\\vscode-ssh-askpass-[askpass]-sock","sshCommand":"C:\\Program Files\\Git\\usr\\bin\\ssh.exe","sshArgs":["-v","-T","-D","55323","[vps-ip]"],"dataFilePath":"c:\\Users\\[myname]\\AppData\\Roaming\\Code\\User\\globalStorage\\ms-vscode-remote.remote-ssh\\vscode-ssh-host-[vps-ip]-[id]\\data.json"}
[18:42:52.995] Local server env: {"DISPLAY":"1","ELECTRON_RUN_AS_NODE":"1","SSH_ASKPASS":"c:\\Users\\[myname]\\.vscode\\extensions\\ms-vscode-remote.remote-ssh-0.50.0\\out\\local-server\\askpass.bat","VSCODE_SSH_ASKPASS_NODE":"C:\\Users\\[myname]\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe","VSCODE_SSH_ASKPASS_MAIN":"c:\\Users\\[myname]\\.vscode\\extensions\\ms-vscode-remote.remote-ssh-0.50.0\\out\\askpass-main.js","VSCODE_SSH_ASKPASS_HANDLE":"\\\\.\\pipe\\vscode-ssh-askpass-[askpass]-sock"}
[18:42:53.021] Spawned 30572
[18:42:53.125] > local-server> Spawned ssh: 12024
[18:42:53.165] stderr> OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
[18:42:53.359] stderr> debug1: Server host key: [the key]
[18:42:53.558] stderr> 'C:\Users\[only my sirname]' is not recognized as an internal or external command,
[18:42:53.558] stderr> operable program or batch file.
[18:42:53.607] stderr> Permission denied, please try again.
[18:42:53.638] stderr> 'C:\Users\[only my sirname]' is not recognized as an internal or external command,
[18:42:53.638] stderr> operable program or batch file.
[18:42:53.686] stderr> Permission denied, please try again.
[18:42:53.716] stderr> 'C:\Users\[only my sirname]' is not recognized as an internal or external command,
[18:42:53.716] stderr> operable program or batch file.
[18:42:53.767] stderr> root@[vps-ip]: Permission denied (publickey,password).
[18:42:53.771] > local-server> ssh child died, shutting down
[18:42:53.779] Local server exit: 0
[18:42:53.780] Received install output: OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
debug1: Server host key: [key]
'C:\Users\[only my sirname]' is not recognized as an internal or external command,
operable program or batch file.
Permission denied, please try again.
'C:\Users\[only my sirname]' is not recognized as an internal or external command,
operable program or batch file.
Permission denied, please try again.
'C:\Users\[only my sirname]' is not recognized as an internal or external command,
operable program or batch file.
root@[vps-ip]: Permission denied (publickey,password).
[18:42:53.781] Resolver error: Permission denied (publickey,password).
[18:42:53.783] ------
EDIT2: So apparently this is a problem only occurring on one of my PCs and reinstalling doesn't help
Upvotes: 34
Views: 121724
Reputation: 624
Here is another scenario. There was not enough space on the remote machine. After making some space, remote ssh via vscode worked
Upvotes: 0
Reputation: 1
It's VSCode Error. Please check your "server name" using shell command "hostname", and then copy the "hostname" into the field of of a configuration file for SSH connection in VSCode.
Upvotes: 0
Reputation: 622
For Mac m2 pro and AWS Linux 2
Host AnyName
HostName 1.1.1.1
User $hostname
IdentityFile ~/.ssh/key.pem
Upvotes: 3
Reputation: 189
After spending more than 3 hours I found the solution. For those who are using the DigitalOcean droplets, you need to change the "authorized_keys" on your droplet manually, even if you add your ssh public key to the settings it won't be added to your droplet.
Here is what you need to do:
1 - if you have already access to the droplet from another machine use it, otherwise you can use the browser console from your dahsboard.
2 - you need to add your ssh key on this file: ~/.ssh/authorized_keys
just do sudo nano ~/.ssh/authorized_keys
and add your ssh key.
3 - Restart the ssh service with sudo systemctl reload ssh
And that's it! I hope I solved someone's problem.
source: https://serverfault.com/questions/938870/permission-denied-publickey-mac
Have a nice day.
Upvotes: 0
Reputation: 69
This may interest anyone who's been having the issue recently. I'm running the latest VS Code at the time (version 1.74.3 from the 2023-01-09 update).
What I did:
ssh user@host
, and on other attempts: ssh host
After several unsuccessful attempts to log in and still receiving the error posted, I noticed the Command Palette prompt's greyed-out instruction mentioned "... or enter user@host"
. Considering that this instruction may have been altered from previous versions of VS Code, I changed my command accordingly. I dropped the "ssh" part of the command and this worked: user@host
Upvotes: 3
Reputation: 371
For me, the issue was the IdentityFile path. On the command line, I simply gave the name of the .pem
file. VS Code needs the ~/.ssh/config
file to provide the absolute path. Additionally, my key had spaces in it. So I had to wrap the absolute path in quotes, like this: "~/.ssh/key with spaces"
. Using the $HOME
variable didn't work for me. Hope this helps someone.
Upvotes: 3
Reputation: 349
Solved! For most people, the issue is that you did not make the .pem file executable. You need to chmod 400 yourkey.pem
for mac, I think 755 for linux, not sure about windows, then move the key into your ssh folder mv yourkey.pem ~/.ssh
Then configure your vscode ssh config file as such.
Host YourHost
HostName ec32-364-207-287-109.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/yourkey.pem
Upvotes: 21
Reputation: 309
Spent an hour on this problem.
I have but one advice.
Double check your username and/or IP address.
Upvotes: 0
Reputation: 1086
In my case, I had to add User prop to the ssh config because it is using my current device's account name (nemothecollector
) while root
is correct account name.
Host digital-ocean-vps-as-root
+ User root
HostName 157.245.150.193
IdentityFile ~/.ssh/digital_ocean_vps
IdentitiesOnly yes
Port 22
Upvotes: 1
Reputation: 3733
Below is the config I used which works for me.
Host vs-ssh.visualstudio.com
HostName vs-ssh.visualstudio.com
User git
IdentityFile file_path
IdentitiesOnly yes
Upvotes: 1
Reputation: 123
it might be caused by low time_out in the setting of VSCODE Extension. You can increase that and try again: ctrl + ,
then find REMOTE SSH
under the extension
section and increase Connect Timeout
to 60
maybe.
Upvotes: 0
Reputation: 123
I had the same issue with version 0.49+ of Remote SSH on vscode. What I did was cmd-p
> Connect To SSH Host > Configure SSH HOSTS and within my config file I noticed I had two entries:
Host <ip>
HostName <name>
User <gungoonsoundcloudwhatsup>
IdentityFile ~/.ssh/file.pub
Host <ip>
HostName <name>
User <gungoonsoundcloudwhatsup>
IdentityFile ~/.ssh/file.pub
So I deleted one and changed the IdentityFile
from the .pub
file to the appropriate rsa
.
That did the trick for me.
Upvotes: 4
Reputation: 665
It seems that the remote ssh extension version 0.50.0 broke something related to this. See the issue I opened on the Github: https://github.com/microsoft/vscode-remote-release/issues/2581
As a workaround, using version 0.49.0 works for me. Do this by right-clicking the extension name and clicking "Install another version...", and select 0.49.0 in the dialogue. Hopefully this gets resolved in a minor version update.
Upvotes: 6