Naxey
Naxey

Reputation: 506

ssh in vscode error: Permission denied (publickey,password)

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

Answers (13)

rosewater
rosewater

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

hughTFX
hughTFX

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

Aamer
Aamer

Reputation: 622

For Mac m2 pro and AWS Linux 2

  • chmod 700 key.pem
  • mv yourkey.pem ~/.ssh
  • config file

Host AnyName
HostName 1.1.1.1
User $hostname
IdentityFile ~/.ssh/key.pem

Upvotes: 3

Souhail Benlhachemi
Souhail Benlhachemi

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

Arn
Arn

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:

  1. Opened the Command Palette
  2. Selected Remote-SSH: Connect to Host...
  3. Typed in: 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

MegaSpaceHamlet
MegaSpaceHamlet

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

CryptoDevWill
CryptoDevWill

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

Ate Somebits
Ate Somebits

Reputation: 309

Spent an hour on this problem.

I have but one advice.

Double check your username and/or IP address.

Upvotes: 0

Phạm Huy Phát
Phạm Huy Phát

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

Sathishkumar
Sathishkumar

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

mossishahi
mossishahi

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

gun.go
gun.go

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

Violet Rosenzweig
Violet Rosenzweig

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

Related Questions