SSHAuthMode Property
The authentication method to be used the component when performing an SSHLogon .
Syntax
property SSHAuthMode: TiphpsclientSSHAuthModes;
TiphpsclientSSHAuthModes = ( amNone, amMultiFactor, amPassword, amPublicKey, amKeyboardInteractive, amGSSAPIWithMic );
Default Value
amPassword
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 method is not supported at this time. |
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. SSHCert must have a private key available for this authentication method to succeed. |
amKeyboardInteractive (4) | This method is not supported at this time. |
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 method is not supported at this time. |
Example (User/Password Auth):
Control.SSHAuthMode = PowerShellInside.PowerShellObjects.PsclientSSHAuthModes.amPassword Control.SSHUser = "username" Control.SSHPassword = "password" Control.SSHHost = "server" Control.SSHPort = 22 Control.Logon()Example (Public Key Auth):
Control.SSHAuthMode = PowerShellInside.PowerShellObjects.PsclientSSHAuthModes.amPublicKey; Control.SSHUser = "username" Control.SSHHost = "server" Control.SSHPort = 22; Control.SSHCertStoreType = SSHCertStoreTypes.cstPFXFile; Control.SSHCertStore = "cert.pfx"; Control.SSHCertStorePassword = "certpassword"; Control.SSHCertSubject = "*"; Control.Logon()
Data Type
Integer