Documentation » Getting Started » Security »

Security of Credentials

To maintain the highest level of security you should not record your secret credentials (such as password or private key passphrase) anywhere.

Though there may be situations, in which decreased level of security is acceptable in exchange for increased comfort of use. For these situations, WinSCP offer some convenience features. They are listed here in loosely decreasing order of security.


Using Pageant for Public Key Authentication

If you are using public key authentication, you can use Pageant authentication agent to avoid entering your passphrase for every connection.

Master Password

If you want to store your password in site to avoid entering them for every connection, it is recommended to protect them with master password.

Keeping Password in Memory

By default, when you enter your password on the authentication window, it is stored in the memory and reused for all subsequent authentications during the same session, such as when reconnecting, opening an additional connection for a background transfer or opening a separate shell session.

You can choose not to keep the password in the memory, for an increased protection, using the preference option Remember password for duration of session.1

When you choose not to remember the password by default, you can still choose to remember it for a specific session on the password prompt. The same effect has entering your password already to the Password box on the Login dialog.

If you have your password stored in a site, it is always automatically used for all authentications during a session.

Keeping the password in the memory can be dangerous, in case a malware gains access to the WinSCP process or the memory is swapped out to disk or written into a crash dump file. However, it is still unavoidably very dangerous, if malicious software is in a position to read the memory of your WinSCP processes: there is still a lot of sensitive data in there which cannot be wiped because it’s still being used, e.g. session keys. Also Pageant retains decrypted private keys in memory for long periods on purpose if you use it. So turning off the option to remember the password somewhat mitigates the risks of malicious access to your WinSCP processes’ memory, but it cannot eliminate those risks completely.2


Passing Password to PuTTY

Enable preference option Remember session password and pass it to PuTTY to make WinSCP keep password in memory and pass it to PuTTY, when opening a session in PuTTY.

Note that the password is passed to PuTTY using command-line parameter -pw. It is rather easy for other processes (possibly malicious) on your computer to retrieve command-line used to start PuTTY, hence to discover your password. So you should avoid using this option, unless you are confident about security of your computer. Preferred alternative approach is to use public key authentication together with Pageant (PuTTY can use Pageant too).

Storing Password

The least recommended method of handling passwords conveniently is to store them unprotected with your site.

Saved passwords (unless protected by master password) are stored in a manner that they can easily be recovered. It is not possible to securely encrypt passwords in a way that still allows for automatic use. Do not use the save password feature if you are not absolutely sure of the physical and electronic security of the system on which you are storing passwords.

Also note that you need to request storing your password unprotected explicitly on Save session as dialog.

System administrators can restrict password storing altogether.

Protecting Credentials Used for Automation

Learn how to protect credentials used for automation.

  1. Note that the Remember session password and pass it to PuTTY preference option (or using the !P pattern in terminal client command) has the same effect, so you have to disable both, to avoid automatic authentication of additional connections.Back
  2. The text is copy of PuTTY User Manual or was inspired by it.Back

Last modified: by