vsftp - VanDyke Software Secure Shell file transfer program
vsftp [options] [user@[domain@]]host[:port]
is an interactive file transfer program which performs all operations over a Secure Shell-based strong-encryption enabled transport.
supports SSH features such as public-key authentication, ciphers, and MACs.
The user@ argument is optional. If it is not specified, your network username will be used.
Command-line options are described below.
to automatically accept host keys.
Note: This option should be used with caution.
If a host key has changed, it will invalidate
the ability to detect a man-in-the-middle
--auth authentication list
The authentication methods to be used in a comma separated list. Valid methods are keyboard-interactive, publickey, password, and gssapi.
to use batch mode. For more information on using batch mode, read the VanDyke Support tip "How To Use vsftp Batch Mode To Automate File Transfers" on our website (www.vandyke.com).
The cipher that the SSH2 server will use. Protocol strings or display strings are permitted.
Specifies the http proxy to be used during connection.
The identity file to use for public-key authentication or a PKCS#12 file to use for X.509 authentication. If no file is specified,
will attempt to use all public keys in the $HOME/.vshell/publickey directory.
Specifies which key exchange algorithm to use. Valid algorithms are diffie-hellman, diffie-hellman-group, Kerberos, and any OID (in dotted number format) supported by the GSSAPI provider.
Specifies the file where
will log all output, in addition to sending it to the console. If the file does not exist,
will create it; or, if the file does exist,
will append the output to it. If used in combination with the -v (verbose) option, the extra verbose output will also be logged.
The MAC that the SSH2 server will use.
Instructs vsftp to move the file(s).
not to preserve timestamp and permissions.
Fails if prompted for user input.
Specifies the port to be used during connection.
The passphrase for your private key.
Your user password.
Specifies the Socks version 4 server to be used during connection
Specifies the Socks version 5 server to be used during connection
Allows you to manually specify the SPN (Server Principal Name). The SPN is almost always of the form host@<server canonical name>. An example of a valid string is "firstname.lastname@example.org". If the server is in a different Kerberos realm, the realm name may need to be appended (e.g., email@example.com@KRBS.MYDOMAIN.COM.
Displays verbose file transfer information. If you want even more and connection debug information, you can instruct
to display the complete SSH trace output by entering "-v -v" on the command line.
The compression level (0-9). By default, the compression level is set to 5. Setting the level to 0 turns off compression. When compression is on,
attempts to use firstname.lastname@example.org, zlib, and no compression, in that order, when making a connection.
Interactive command options are described below. Commands that specify a path can contain the wildcard characters * and ?.
will expand these wildcard characters. Multiple wildcard characters are permitted in a path (e.g., "*.*" or "*.?").
also supports file "globbing". The sequence [...] will match any one of the characters enclosed. Within [...], a pair of characters separated by a quotation mark (") matches any character lexically between the two. The
backslash can be used to turn off wildcard characters (e.g., \* or \[).
Sets the file transfer mode to ASCII.
Sets the file transfer mode to binary.
Changes the remote directory to that specified by the path.
chgrp group path
Changes the group of file path to group.
chmod mode path
Changes the permissions of file path to mode.
chown owner path
Changes the owner of file path to owner.
Displays system information about the specified remote file or folder.
Specifies whether, on a command error,
should continue, exit the file (either from include or batch mode), or exit all files (this also exits the application, if in batch mode). The default behavior is to continue.
get [-r] [-a|-b] [--nopreserve] [--move] remote path
Retrieves the remote path and stores it in the current local directory. The -r argument specifies a recursive get. The -a argument specifies that the files are transferred as ASCII; -b specifies binary. If neither -a nor -b is specified, the current transfer mode will be used (see "type" command). If the option --nopreserve is specified, the timestamp and permissions will not be preserved. If --move is specified, the file(s) will be moved.
include filename or < filename
Includes the commands in the specified file as though they had been typed in.
Changes the local directory to that specified by the path.
Displays system information about the specified local file or folder.
lls -l [-a] [-d]path
Displays the local directory listing of either the path or of the current directory if the path is not specified. Adding the -a argument will show all files and folders (including those hidden), and the -d argument will show only directories.
Creates local directory specified by the path.
ln existingpath linkpath
Creates symbolic link on remote file.
Prints local working directory.
Deletes local file.
Removes local directory.
ls -l [-a] [-d]path
Displays the remote directory listing of either the path or of the current directory if the path is not specified. If the -l flag is set, vsftp displays permission and ownership information. Adding the -a argument will show all files and folders (including those hidden), and the -d argument will show only directories.
This command, if used with a / (i.e., ls / ), lists the roots when connecting to a server that allows multiple roots, such as VanDyke Software's VShell(R).
Creates remote directory specified by the path.
mv oldpath newpath
Moves remote file.
Connects to the specified host on the specified port.
put [-r] [-a|-b] [--nopreserve] [--move] remotepath
Uploads the local path to the currently open directory on the remote machine. The -r argument specifies a recursive put. The -a argument specifies that the files are transferred as ASCII; -b specifies binary. If neither -a nor -b is specified, the current transfer mode will be used (see "type" command). If the option --nopreserve is specified, the timestamp and permissions will not be preserved. If --move is specified, the file(s) will be moved.
Prints the remote working directory.
rename oldpath newpath
Renames remote file.
rm [-r] path
Deletes the remote file specified by the path. Adding the -r argument will initiate a recursive remove operation.
Deletes the remote directory specified by the path.
Substitutes the current user with the one specified.
Note: This command can only be called if the
remote machine is running VShell for Windows
3.5 or later.
type [transfer mode]
Displays or sets the file transfer mode. Issuing this command with no parameter will display the current mode; issuing it with a mode parameter (either ascii or binary) will set the mode to that parameter.
Displays the remote vendor information (when available) and the SFTP protocol version.
The following are examples of vpka command-line use.
Publickey Authentication, Logging, Batch File for commands
In the above example, vsftp will authenticate "bleaker" on "redhat.com" using the private key "C:ysIdentity" with passphrase "p@ssph3se" using public-key authentication. After authentication, the commands in the batch file "vsftp_cmds.txt" will be executed. All information will be logged to a file "VSFTPlog.txt" in the "Temp" folder.
Contents of "vsftp_cmds.txt":
Publickey Authentication via indicated SOCKS Proxy Server and Port
In this example, vsftp will authenticate "bleaker" on "redhat.com" using the private key "C:ysIdentity" with passphrase "p@ssph3se" using public-Skey authentication through the "SOCKSserver" port 1080.
Password Authentication, connecting to non-standard Port
In the above example, vsftp will use password authentication to authenticate the "johnson" account on "redhat.com" using the password "passw0rd". All information will be logged to the file "VSFTPlog.txt" in the "Temp" directory. Communication will occur over port 1022.
The following are the locations of data files.
Host key files
The directory of these files is the same directory as the public key directory, which can be specified in the
file. By default, the location is $HOME/.vshell/known_hosts.
Public key files
The directory of these files is specified in the
file. By default, the location is $HOME/.vshell/publickey.
Note: To find an acceptable public key match,
(VShell(R) server for UNIX) will only look at files in the public key directory that end in .pub or that are named "authorized_keys".
will not check those files with names that begin with a period (.). For example, file.pub would be checked to see if it contains a valid key, where as, .x.pub would not.