ssh-keygen
Version:
Generates SSH key-pairs
92 lines (68 loc) • 2.34 kB
Markdown
ssh-keygen
==========
Generates a SSH key-pair
### Install
1. Make sure you have ssh-keygen (try `$ ssh-keygen` if you aren't sure)
2. npm package install
```
npm install ssh-keygen
```
OR download from github and place in ./node_modules
### Usage
```js
var keygen = require('ssh-keygen');
var fs = require('fs');
var location = __dirname + '/foo_rsa';
var comment = 'joe .com';
var password = 'keypassword'; // false and undefined will convert to an empty pw
var format = 'PEM'; // default is RFC4716
keygen({
location: location,
comment: comment,
password: password,
read: true,
format: format
}, function(err, out){
if(err) return console.log('Something went wrong: '+err);
console.log('Keys created!');
console.log('private key: '+out.key);
console.log('public key: '+out.pubKey);
});
```
The following shell command will get executed:
```
$ ssh-keygen -t rsa -b 2048 -C "joe@foobar.com" -N "keypassword" -m PEM -f ./foo_rsa
Generating public/private rsa key pair.
Your identification has been saved in ./foo_rsa.
Your public key has been saved in ./foo_rsa.pub.
The key fingerprint is:
02:f7:40:b6:c7:b3:a3:68:16:53:dd:86:63:df:b5:33 joe .com
The key's randomart image is:
+--[ RSA 2048]----+
| o |
| o + o |
| . = O o . |
| + = * . . . |
| o . S . . E |
| + o . o |
| + . |
| o |
| |
+-----------------+
```
### Parameters
* location, desired location for the key. The public key will be at the location + `.pub`, defaults temp dir
* read, should the callback have the key files read into it, defaults true
* force, destroy pre-existing files with the location name and the public key name, defaults true
* destroy, destroy the key files once they have been read, defaults false
* comment, the comment that should be embedded into the key, defaults empty
* password, the password for the key, defaults empty
### Note
It is advisable to generate your keys on a machine with a significant random source like one with a mouse/trackpad.
### License
ssh-keygen is [open source](https://github.com/ericvicenti/ssh-keygen/blob/master/LICENSE.md) under the MIT license
### Windows
This package bundles binaries for windows. The current version is: `2.4.4.2-rc3`
### Todo
* Real tests
Contributors welcome!