Socket
Socket
Sign inDemoInstall

ssh2-sftp

Package Overview
Dependencies
17
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ssh2-sftp

SFTP client for node.js.


Version published
Weekly downloads
6
increased by20%
Maintainers
1
Install size
1.20 MB
Created
Weekly downloads
 

Readme

Source

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 = require('ssh2-sftp');

 var client = new Sftp({
    "host": "192.168.1.1",
    "port": 22,
    "user": "root",
    "password": "root",
    "privateKey": fs.readFileSync('/.ssh/id_rsa')   // password or privateKey
});

 client.connect(callback);

upload

Upload from local dirs: static in ./build to remote SFTP: /node-sftp/build.

client.connect(() => {
    let options = {
        source: 'static',   // ex. static static/js static/js/index.js
        localPath: './build',
        remotePath: '/node-sftp/build'
    };

    client.download(options, callback);
});

/* 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.connect(() => {
    let options = {
        source: 'static',   // ex. static static/js static/js/index.js
        localPath: './down',
        remotePath: '/node-sftp/build'
    };

    client.download(options, callback);
});

/* 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 = require('ssh2-sftp'),
    client = new sftpClient(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.connect(callback);

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 specified options.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 set source , 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.
  • download(< Object > options,< Function > callback) - downloads the contents of options.remotePath to options.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 set source , 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.

FAQs

Last updated on 25 May 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc