Skip to content

rumkin/ssh-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSH Shell

SSH shell is a util to manage shell commands variables and manage files upload/download. It has the same interface as local-shell to simplify usage.

Installation

Install via npm

npm i ssh-shell

Example

Example of variable usage:

const SshShell = require('ssh-shell');

const shell = new SshShell({
    username: 'user',
    password: '********',
    cwd: '/home/user',
});

shell.open()
.then(() => {    
    shell.set('NAME', 'World');
    shell.exec('echo Hello $NAME')
    .then(({code, io}) => {
        if (code) {
            throw new Error('Exit code is ' + code);
        }

        console.log(io.toString()); // -> Hello World

        return shell.close();
    });
});

API

exec(cmd:String) -> Promise<{code,io},Error>

Execute command and return promised Result object.

open()

Added for compatibility with SshShell

Start session. Emit open event.

close()

Added for compatibility with SshShell

Stop session. Emit close event.

uploadFile(source:String, [dest:String]) -> Promise(<null,Error>)

Upload file from source to destination. Destination is resolving from cwd value. If destination not set than it replaces with source's filename.

uploadBuffer(source:Buffer, dest:string) -> Promise(<null,Error>)

Upload data from buffer to the server.

downloadFile(source:String, [dest:String])

Download file from source into destination. If destination not set than it replaces with source's filename.

About

SSH remote shell client implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published