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.