0.0.6 • Published 11 years ago

test-sshd v0.0.6

Weekly downloads
2
License
-
Repository
github
Last release
11 years ago

Description

Test-sshd(nodejs) allows you to start a local sshd daemon that you can test against.

Because there is nothing like the real thing

Way too many code that uses ssh isn't tested because mocking and stubbing sshd servers is hard.

How

It starts a sshd with the correct arguments so that:

  • you can login as the current user (process.env.user)
  • using the test key provided (in config/keys/id_rsa)
  • on a port you specify
  • if login succeeds it uses ForceCommand to echo the command in $SSH_ORIGINAL_COMMAND
  • it does NOT do password authentication (yet)

Usage

var TestSshd = require('test-sshd');
var sshd = TestSshd({port: 4000};

var connectParams = sshd.connectParams();

sshd.on('ready', function() {
  // When login is working
  console.log('ready to login');
});

sshd.on('error', function(error) {
  // When sshd has an error
});

sshd.on('stdout', function(data) {
  // receive sshd stdout
});

sshd.on('stderr', function(data) {
  // receive sshd stderr
});

sshd.on('exit', function() {
  // when daemon exit
});

sshd.start();

// Make sure to stop the sshd stop when the process exits
// This prevents orphaned processes
process.on('exit', function() {
  if(sshd.status === 'started') {
    sshd.stop();
  }
});

Code information

Getters

  • status: either 'started' or 'stopped'
  • settings: contains params used to initialize the sshd

Options

  • port: integer defdults to 4000
  • mode: string default to echo (currently only this mode is supported)

Events

  • ready: when the sshd is succesfully listening
  • exit: when the sshd exits
  • error: when an error occurs

ConnectParams()

This is a hash with;

  • host : string host to connect to
  • username: string username to connect with
  • port: integer port it listens on
  • privateKey: string key that can be used to connect

License

MIT

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago