ssh2-sftp
SFTP client for node.js.
Requirements
- node.js -- v0.8.0 or newer
Dependencies
Installation
npm install ssh2-sftp
Client Examples
ex. dirs:
node-sftp
|- /build
|- index.html
|- page.html
|- /static
|- /js
|- index.js
|- page.js
|- /css
|- index.css
|- page.css
|- /down
connect
const Sftp = ; var client = "host": "192.168.1.1" "port": 22 "user": "root" "password": "root" "privateKey": fs // password or privateKey; client;
upload
Upload from local dirs: static
in ./build
to remote SFTP: /node-sftp/build
.
client; /* Remote SFTP dirs output: * node-sftp * |- /build * |- /static * |- /js * |- index.js * |- page.js * |- /css * |- index.css * |- page.css */
download
Download from romate SFTP: static
in /node-sftp/build
to local: ./down
.
client; /* Local dirs output: * node-sftp * |- /build * |- ... * |- /down * |- /static * |- /js * |- index.js * |- page.js * |- /css * |- index.css * |- page.css */
Client Usage
Initialization
To create an instance of the wrapper use the following code:
var sftpClient = client = config;
config
containers the sftp server configuration:
- host - string - Hostname or IP address of the server. Default:
'localhost'
- port - integer - Port number of the server. Default:
'localhost'
- user - string - Username for authentication.
- password - string - Password for password-based user authentication.
- privateKey - mixed - Buffer or string that contains a private key for either key-based or hostbased user authentication (OpenSSH format).
Connecting
After creating the new object you have to manually connect to the server bt using the connect
method:
client;
And passing the callback which should be executed when the client is ready.
Methods
-
upload(< Object > options,< Function > callback) - expand the
options.source
paths using the glob module, upload all found files and directories to the specifiedoptions.remotePath
, and passing the callback which should be executed after the client uploaded successfully.options
can have the following properties:- source - string - The
source
which should to be uploaded, if not setsource
, upload all of files and directories. Supports files and directories. Default:''
- localPath - string - The local directory which should to be uploaded.
- remotePath - string - The remote sftp directory which should to be received.
- source - string - The
-
download(< Object > options,< Function > callback) - downloads the contents of
options.remotePath
tooptions.localPath
if both exist, and passing the callback which should be executed after the client downloaded successfully.options
can have the following properties:- source - string - The
source
which should to be downloaded. Supports files and directories, if not setsource
, download all of files and directories. Default:''
- localPath - string - The local directory which should to be received.
- remotePath - string - The remote sftp directory which should to be downloaded.
- source - string - The