Sample code for 30+ languages & platforms
AutoIt

Get the SSH Server's Authentication Methods

See more SSH Examples

Demonstrates the Chilkat Ssh.GetAuthMethods method, which queries a connected but unauthenticated SSH server for the authentication methods it advertises. It takes no arguments and returns a lowercase, comma-separated list such as publickey,password,keyboard-interactive. Call it after Connect and before authenticating.

Background: Knowing what the server accepts lets a client choose the right authentication path — for example, falling back to keyboard-interactive when password auth is not offered. Note the documented connection side effect: querying methods advances the SSH authentication state, so call it at the correct point in the sequence.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

;  Demonstrates the Ssh.GetAuthMethods method, which queries a connected but unauthenticated SSH
;  server for the authentication methods it advertises.  It takes no arguments and returns a
;  lowercase, comma-separated list such as "publickey,password,keyboard-interactive".

$oSsh = ObjCreate("Chilkat.Ssh")

;  Connect to the SSH server.  Port 22 is the usual SSH port.
Local $iSshPort = 22
$bSuccess = $oSsh.Connect("ssh.example.com",$iSshPort)
If ($bSuccess = False) Then
    ConsoleWrite($oSsh.LastErrorText & @CRLF)
    Exit
EndIf

;  Query the advertised authentication methods.  Call after Connect, before authenticating.
Local $sMethods = $oSsh.GetAuthMethods()
If ($oSsh.LastMethodSuccess = False) Then
    ConsoleWrite($oSsh.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Server auth methods: " & $sMethods & @CRLF)

$oSsh.Disconnect