Search code examples
visual-studio-codessh

How to save ssh password to vscode?


I am using vscode to connect to a remote host. I use Remote-SSH (ms-vscode-remote.remote-ssh) extension to do so. Every time I want to connect to the remote host, I need to enter the password.

Is there a way to save the ssh password to vscode?


Solution

  • Let's answer the OP's question first:

    How to 'save ssh password'?

    Since there is no such thing as "ssh password", the answer to "how to save the remote user password" is:

    This is not supported by VSCode.

    VSCode proposes to setup an SSH Agent in order to cache the passphrase (in case you are using an encrypted key)

    But if the public key was not properly registered to the remote account ~/.ssh/authorized_key, SSH daemon will default to the remote user credentials (username/password).

    It is called PasswordAuthentication, often the remote user password.

    And caching that password is not supported for SSH sessions.

    It is only supported by a Git credential helper, when using HTTPS URLs.
    (it defers to the OS underlying credential manager)
    But I don't know of a remote user password cache when SSH is used.

    As Chagai Friedlander comments, the answer to the original question is therefore:

    No, but you can use SSH keys and that is better.


    Speaking of SSH keys:

    "ssh password": Assuming you are referring to a ssh passphrase, meaning you have created an encrypted private key, then "saving the ssh password" would mean caching that passphrase in order to avoid entering it every time you want to access the remote host.

    Check first if you can setup the ssh-agent, in order to cache the passphrase protecting your private key.
    See "VSCode: Setting up the SSH Agent"

    This assumes you are using an SSH key, as described in "VSCode: Connect to a remote host", and you are not using directly the remote user password.

    Using an SSH key means its public key would have been registered to the remote account ~/.ssh/authorized_keys file.

    This section is the workaround the OP ended up accepting: registering the public key on the remote user account, and caching the local private key passphrase worked.