Sample code for 30+ languages & platforms
Visual FoxPro

Start SFTP Keyboard-Interactive Authentication

See more SFTP Examples

Demonstrates the Chilkat SFtp.StartKeyboardAuth method, which begins keyboard-interactive authentication. The only argument is the login name. It returns XML describing the server's prompts, which are answered with ContinueKeyboardAuth.

Background: Keyboard-interactive is the prompt-driven authentication method: rather than assuming a single password, the server sends one or more questions — a password, a one-time code, a security question — and the client answers each. This is how SFTP supports two-factor and other challenge-response schemes. The returned XML tells you exactly what to ask and whether to mask the input.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSftp
LOCAL lnPort
LOCAL lcInfoRequestXml

lnSuccess = 0

*  Demonstrates the SFtp.StartKeyboardAuth method, which begins keyboard-interactive
*  authentication.  The only argument is the login name.  It returns XML describing the server's
*  prompts, which are answered with ContinueKeyboardAuth.

loSftp = CreateObject('Chilkat.SFtp')

*  Step 1: Connect the SSH transport.  Port 22 is the usual port.
lnPort = 22
lnSuccess = loSftp.Connect("sftp.example.com",lnPort)
IF (lnSuccess = 0) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

*  Begin keyboard-interactive authentication.  The returned XML describes the server's prompts.
lcInfoRequestXml = loSftp.StartKeyboardAuth("mySshLogin")
IF (loSftp.LastMethodSuccess = 0) THEN
    ? loSftp.LastErrorText
    RELEASE loSftp
    CANCEL
ENDIF

? lcInfoRequestXml

*  Answer the prompt(s) with ContinueKeyboardAuth, then call InitializeSftp.

loSftp.Disconnect()

RELEASE loSftp