A library for setting up SSH configuration quickly and painlessly.
Go to file
2016-06-25 02:53:05 +02:00
dist updated structure of SshConfig 2016-06-25 02:53:05 +02:00
test major structural update 2016-06-25 02:29:34 +02:00
ts updated structure of SshConfig 2016-06-25 02:53:05 +02:00
.gitignore added .gitignore 2016-04-24 23:50:03 +02:00
.gitlab-ci.yml now using legacy tag in gitlab-ci.yml 2016-06-13 23:31:41 +02:00
.travis.yml enable travis and create package.json 2016-04-24 23:47:26 +02:00
LICENSE Initial commit 2016-04-21 00:15:03 +02:00
npmts.json improved tests and reached 80% coverage milestone. 2016-06-01 05:09:20 +02:00
package.json updated structure of SshConfig 2016-06-25 02:53:05 +02:00
README.md made all classes start with capital letters 2016-05-31 19:16:45 +02:00

smartssh

setups SSH quickly and in a painless manner

Attention: This is still alpha, so some things won't work, not all things are inplemented.

Usage

var smartssh = require("smartssh");
var sshInstance = new smartssh.sshInstance({
    sshDir: "/some/path/.ssh", // the standard ssh directory, optional, defaults to "~./.ssh"
    sshSync: true // sync ssh this instance will represent the status of an ssh dir if set to true;
});

sshInstance.addKey(new smartssh.sshKey({ 
    private: "somestring",
    public: "somestring", // optional
    host:"github.com",
    encoding: "base64" // optional, defaults to "utf8", can be "utf8" or "base64", useful for reading ssh keys from environment variables
}));

sshInstance.removeKey(sshInstance.getKey("github.com")); // removes key for host "github.com" is present

sshInstance.createKey({
    host:"gitlab.com" // returns new key in the form sshKey, read more about the sshKey class below
})

sshInstance.getKey({ // returns ssh key in the form sshKey, read more about the sshKey class below
    host:"github.com"
});

sshInstance.getKeys() // returns array of all available getKeys. Each key is in form of class sshKey