SFTPClient API Documentation

Base.Filesystem.mvMethod

mv( sftp::SFTP, oldname::AbstractString, newname::AbstractString; )

Move, i.e., rename the file.

source
Base.Filesystem.readdirFunction

readdir(sftp::SFTP, join::Bool = false, sort::Bool = true)

Reads the current directory. Returns a vector of Strings just like the regular readdir function.

source
SFTPClient.downloadFunction

SFTPClient.download( sftp::SFTP, file_name::AbstractString, output = tempname();downloadDir::Union{String, Nothing}=nothing)

 Download a file. You can download it and use it directly, or save it to a file. 
 Specify downloadDir if you want to save downloaded files. You can also use broadcasting.
Example:

sftp = SFTP("sftp://test.rebex.net/pub/example/", "demo", "password")
files=readdir(sftp)
downloadDir="/tmp"
SFTPClient.download.(sftp, files, downloadDir=downloadDir)

You can also use it like this:
df=DataFrame(CSV.File(SFTPClient.download(sftp, "/mydir/test.csv")))
source
SFTPClient.sftpstatMethod

sftpstat(sftp::SFTP, path::AbstractString)

Like Julia stat, but returns a Vector of SFTPStatStructs. Note that you can only run this on directories. Can be used for checking if a file was modified, and much more.

source
SFTPClient.uploadMethod

upload(sftp::SFTP, file_name::AbstractString)

Upload (put) a file to the server. Broadcasting can be used too.

files=readdir() upload.(sftp,files)

source
SFTPClient.walkdirMethod
SFTPClient.walkdir(sftp::SFTP, root; topdown=true, follow_symlinks=false, onerror=throw)
Return an iterator that walks the directory tree of a directory.
The iterator returns a tuple containing `(rootpath, dirs, files)`.


# Examples
```julia
for (root, dirs, files) in walkdir(sftp, ".")
    println("Directories in $root")
    for dir in dirs
        println(joinpath(root, dir)) # path to directories
    end
    println("Files in $root")
    for file in files
        println(joinpath(root, file)) # path to files
    end
end
```
source
SFTPClient.SFTPMethod

SFTP(url::AbstractString, username::AbstractString, publickeyfile::AbstractString, privatekeyfile::AbstractString;disableverifypeer=false, disableverifyhost=false, verbose=false)

Creates a new SFTP client using certificate authentication, and keys in the files specified

sftp = SFTP("sftp://mysitewhereIhaveACertificate.com", "myuser", "test.pub", "test.pem")

source
SFTPClient.SFTPMethod

SFTP(url::AbstractString, username::AbstractString, password::AbstractString;createknownhostsentry=true, disableverifypeer=false, disableverify_host=false)

Creates a new SFTP Client: url: The url to connect to, e.g., sftp://mysite.com username: The username to use password: The users password createknownhosts_entry: Automatically create an entry in known hosts

Example: sftp = SFTP("sftp://test.rebex.net", "demo", "password")

source
SFTPClient.SFTPMethod

SFTP(url::AbstractString, username::AbstractString;disableverifypeer=false, disableverifyhost=false)

Creates a new SFTP client using certificate authentication.

sftp = SFTP("sftp://mysitewhereIhaveACertificate.com", "myuser")

Note! You must provide the username for this to work.

Before using this method, you must set up your certificates in ~/.ssh/idrsa and ~/.ssh/idrsa.pub

Of course, the host need to be in the known_hosts file as well.

Test using your local client first: ssh myuser@mysitewhereIhaveACertificate.com

See other method if you want to use files not in ~/ssh/

source