Contact Info

Crumbtrail

ActiveXperts.com » Network Component » Network Component Objects » SFTP

ActiveXperts Network Component SFtp Object

SFTP (Secure File Transfer Protocol) allows secure network file transfer over an insecure network, such as the Internet.

The Secure File Transfer Protocol is an extension to the SSH version 2.0 protocol. Most SSH server implementations will also allow for SFTP logins. SFTP is the secure successor to FTP.

The Network Component SFTP implementation is based on the PuTTY implementation. With the Network Component SFtp object, you can login onto a remote machine running the SSH-2 daemon and has the SFTP service enabled.

There are two ways to authenticate: by using a password or by using a 'private key'. When using a password to authenticate it is required that the host private key is known to the system. If the hosts private key is unknown to the system or if it was changed since the last connection the Ssh object will return an error. To connect anyway and store the host key in the registry for future connections the 'AcceptHostKey' property can be set.

The Ssh object is part of the Network Component. Overview of all Network Component objects:

DnsServer & DnsRecord - Ftp & FtpFile - Http - Icmp - IPtoCountry - Msn - Ntp - Radius - Rsh - Scp - SFtp - Ssh - SnmpManager - SnmpTrapManager - SnmpMibBrowser - Tcp - Tftp - TraceRoute - Udp - Xen - Wake-on-LAN - Xen (Citrix)


SFtp Sample code

VBScrip sample: Change directory and get a file

' Helper function to expand a string variable to a specified length
Function Pad(ByRef Text, ByVal Length)
  Pad = Left(Text & Space(Length), Length)
End Function

' Helper function to test and find the error description and exit
Function test_lasterror()
  If objSFtp.LastError <> 0 Then
    WScript.Echo "Error "  & objSFtp.LastError
    If objSFtp.ProtocolError <> "" Then 
      WScript.Echo "Protocol error: " & objSFtp.ProtocolError
      WScript.Quit 1
    End If     
  End If
End Function

' Connect to the host
Set objSFtp      = CreateObject("ActiveXperts.SFtp") ' Create an SFtp instance
objSFtp.Host     = "192.168.1.10"          ' Hostname or IP address of remote LINUX machine
objSFtp.UserName = "demo"                  ' Login as 'demo'
objSFtp.Password = "topsecret"             ' Use a password to login

WScript.Echo "Connect"
objSFtp.Connect                            ' Connect to the SFTP server
test_lasterror

' Change directory
objSFtp.ChangeDir "test"
test_lasterror

' List directory contents
Set f = objSFtp.FindFirstFile(".")
test_lasterror
While objSFtp.LastError = 0
  str = pad(f.name, 30) & pad(f.SizeKb & "KB", 10) & f.Date
  WScript.Echo str
  Set f = objSFtp.FindNextFile    
WEnd

' Get smalltoken file
objSFtp.GetFile "Smalltoken.file", "."
test_lasterror

objSFtp.Disconnect

' YES, command has completed
WScript.Echo "Ready."

You can download the full samples here.