This is an old revision of the document!

SessionOptions Class

Defines information to allow an automatic connection and authentication of the session. Is used with Session.Open method.

Advertisement

Syntax

Namespace: WinSCP

C#
public sealed class SessionOptions
VB.NET
Public NotInheritable Class SessionOptions

Constructors

Name Description
SessionOptions() Default constructor.

Properties

Name Description
FtpMode FtpMode FTP mode. Possible values are FtpMode.Passive (default) and FtpMode.Active.
FtpSecure FtpSecure FTPS mode. Possible values are FtpSecure.None (default), FtpSecure.Implicit and FtpSecure.Explicit (FtpSecure.ExplicitTls in versions prior to the latest beta version).
bool GiveUpSecurityAndAcceptAnySshHostKey Give up security and accept any SSH host key. To be used in exceptional situations only, when security is not required. When set, log files will include warning about insecure connection. To maintain security, use SshHostKeyFingerprint.
bool GiveUpSecurityAndAcceptAnyTlsHostCertificate Give up security and accept any FTPS/WebDAVS server TLS/SSL certificate. To be used in exceptional situations only, when security is not required. When set, log files will include warning about insecure connection. To maintain security, use TlsHostCertificateFingerprint.
string HostName Name of the host to connect to. Mandatory property.
string Password Password for authentication.
int PortNumber Port number to connect to. Keep default 0 to use the default port for the protocol.
Protocol Protocol Protocol to use for the session. Possible values are Protocol.Sftp (default), Protocol.Scp, Protocol.Ftp and Protocol.Webdav (This feature is available only in the latest beta release.).
SecureString SecurePassword Encrypted password for authentication. Use instead of Password to reduce a number of unencrypted copies of the password in memory. This feature is available only in the latest beta release.
string SshHostKeyFingerprint Fingerprint of SSH server host key (or several alternative fingerprints separated by semicolon). It makes WinSCP automatically accept host key with the fingerprint. Mandatory for SFTP/SCP protocol.1 Learn how to obtain host key fingerprint.
string SshPrivateKeyPath Full path to private key file.
string SshPrivateKeyPassphrase Passphrase for encrypted private keys. This feature is available only in the latest beta release.
string TlsHostCertificateFingerprint Fingerprint of FTPS/WebDAVS server TLS/SSL certificate to be automatically accepted (useful for certificates signed by untrusted authority).
TimeSpan Timeout Server response timeout. Defaults to 15 seconds.
int TimeoutInMilliseconds Alternative to Timeout. Particularly useful for COM hosts that cannot use TimeSpan, such as Visual Basic.
string UserName Username for authentication. Mandatory property.
bool WebdavSecure Use WebDAVS (WebDAV over TLS/SSL), instead of WebDAV. This feature is available only in the latest beta release.
string WebdavRoot WebDAV root path. This feature is available only in the latest beta release.

Advertisement

Methods

Name Description
void AddRawSettings(string setting, string value) Allows configuring any site settings using raw format as in an INI file.
E.g. to enable SSH compression and agent forwarding use AddRawSettings("Compression", "1") and AddRawSettings("AgentFwd", "1").

Remarks

You need to fill in all properties required to connect and authenticate your session automatically.

You always need to fill in Protocol, HostName and UserName2.

In most cases you need to fill in Password. Exceptions are:

  • You use different authentication method than a password authentication, such as public key authentication for SSH session;
  • The server does not require password.

For SSH (SFTP/SCP) session you need to fill in the SshHostKeyFingerprint to verify the expected server host key.

Example

See overall example for WinSCP .NET assembly or any other example.

  1. You can leave the property null, if you set GiveUpSecurityAndAcceptAnySshHostKey; or if you set Session.DefaultConfiguration to false and make sure the host key is already accepted in the configuration, only (not recommended).Back
  2. Except for very rare occasions that the server does not require username.Back

Last modified: by martin