SSHAuthMode Property
The authentication method to be used the component when calling SSHLogon .
Syntax
__property TiphSCPSSHAuthModes SSHAuthMode = {read=FSSHAuthMode, write=FSetSSHAuthMode, default=2};
enum TiphSCPSSHAuthModes { amNone=0, amMultiFactor=1, amPassword=2, amPublicKey=3, amKeyboardInteractive=4, amGSSAPIWithMic=5, amCustom=6 };
Default Value
2
Remarks
The SSH Authentication specification (RFC 4252) specifies multiple methods by which a user can be authenticated by an SSH server. When a call is made to SSHLogon, the component will connect to the SSH server and establish the security layer. After the connection has been secured, the client will send an authentication request to the SSHHost containing the SSHUser. The server will respond containing a list of methods by which that user may be authenticated.
The component will attempt to authenticate the user by one of those methods based on the value of SSHAuthMode and other property values supplied by the user. Currently, the component supports the following authentication methods:
amNone (0) | No authentication will be performed. The current SSHUser value is ignored, and the connection will be logged in as anonymous. |
amMultiFactor (1) | This allows the component to attempt a multi-step authentication process. The component will send authentication data to the server based on the list of methods allowed for the current user and the authentication property values supplied. The component will continue to send authentication data until the server acknowledges authentication success. If the server rejects an authentication step, the component raises an exception. |
amPassword (2) | The component will use the values of SSHUser and SSHPassword to authenticate the user. |
amPublicKey (3) | The component will use the values of SSHUser and the SSHCert* properties to authenticate the user. the SSHCert* properties must have a private key available for this authentication method to succeed. |
amKeyboardInteractive (4) | At the time of authentication, the component will fire the SSHKeyboardInteractive event containing instructions on how to complete the authentication step. (NOTE: amKeyboardInteractive is not supported in SSHTunnel). |
amGSSAPIWithMic (5) | This allows the component to attempt Kerberos authentication using the GSSAPI-WITH-MIC scheme. The client will try Kerberos authentication using the value of SSHUser (single sign-on), or if SSHPassword is specified as well, it will try Kerberos authentication with alternate credentials. This is currently supported only in the .NET client. |
amCustom (6) | This allows the component caller to take over the authentication process completely. When amCustom is set, the component will fire the SSHCustomAuth event as necessary to complete the authentication process. |
Example (User/Password Auth):
Control.SSHAuthMode = SftpSSHAuthModes.amPassword Control.SSHUser = "username" Control.SSHPassword = "password" Control.SSHLogon("server", 22)Example (Public Key Auth):
Control.SSHAuthMode = SftpSSHAuthModes.amPublicKey Control.SSHUser = "username" Control.SSHCertStoreType = SSHCertStoreTypes.cstPFXFile; Control.SSHCertStore = "cert.pfx"; Control.SSHCertStorePassword = "certpassword"; Control.SSHCertSubject = "*"; Control.SSHLogon("server", 22)
Data Type
Integer