@nullabyte/ssh

0.0.1 • Public • Published

@nullabyte/ssh

pipeline status coverage report

A wrapper around ssh2, a module to SSH into your servers from NodeJS scripts.

Module exports the properties SSH and Errors. SSH is a class that accepts a constructor arguments object like:

{
	host: "localhost",
	port: 22,
	username: "user",
	ppk: "./path/to/ppk",
	passphrase: "password for a locked ppk",
	password: "password for the user to use in login/sudo events",
	verbose: false
}

If a ppk property is defined, the private key is used during the SSH connection and the password is ignored.

Available class methods:

  • SSH.connect() ; connects to the defined host
  • SSH.close() ; closes the connection
  • SSH.sudo() ; prepares a command to be run with sudo. Can be chained like SSH.sudo().command()
  • SSH.command(commandString) ; runs the command passed as a string
  • SSH.mv(source, destination, [force = false])
  • SSH.ls(directory, [extended = false])
  • SSH.cp(source, destination, [forceRecursive = false])
  • SSH.rm(target, [forceRecursive = false])
  • SSH.touch(filename)
  • SSH.cat(filename)
  • SSH.mkdir(filename)
  • SSH.escapePath(pathName)
  • SSH.uploadFile(localFilePath, destinationFilePath) ; uploads a single file to the server via SFTP
  • SSH.upload(localFilePath, destinationFilePath) ; uploads either a single file or complete directory/ies to the server via SFTP
  • SSH.readDirectory(localFilePath, destinationFilePath)

Specific filesystem action methods, like mv, cp, rm, etc, all automatically escape filepaths in an attempt to subvert command injection. Generic methods, like command do not escape your command string, so you should ensure you are properly escaping your commands.

Readme

Keywords

Package Sidebar

Install

npm i @nullabyte/ssh

Weekly Downloads

0

Version

0.0.1

License

LPGL-3.0

Unpacked Size

18.1 kB

Total Files

8

Last publish

Collaborators

  • bilfr3d