jwk-to-ssh
v1.2.0
Published
💯 JWK to SSH in a lightweight, zero-dependency library.
Downloads
467
Maintainers
Readme
JWK to SSH (for node.js)
A minimal library to encode a JWK
as an SSH public key (id_rsa.pub
).
Works for RSA and ECDSA public keys.
Features
< 75 lines of code | < 0.7kb gzipped | 1.5kb minified | 2.1kb with comments
- [x] SSH Public Keys
- [x] OpenSSH Private Keys
- [x] RSA Keys
- [x] EC Keys
- P-256 (prime256v1, secp256r1)
- P-384 (secp384r1)
- [x] Browser Version
Note: the file size stats are for v1.0 which did not include private key packing. I plan to go back and update the stats, but just know that it grew a little over 2x.
Need JWK to SSH? PEM to SSH?
Try one of these:
- jwk-to-ssh.js (RSA + EC)
- Eckles.js (more EC utils)
- Rasha.js (more RSA utils)
Need Alternate SSH Private Keys?
This library supports OpenSSH private keys.
- [x] OpenSSH
- [ ] Normal PKCS1 / SEC1 / PKCS8
- [x] Rasha.js
- [x] Eckles.js
- [ ] Putty
Library Usage
You can also use it from JavaScript:
var fs = require('fs');
var jwktossh = require('jwk-to-ssh');
var jwk = JSON.parse(fs.readFileSync("./privkey.jwk.json"));
var pub = jwktossh.pack({
jwk: jwk
, comment: 'root@localhost'
, public: true
});
console.info(pub);
CLI Usage
You can install jwk-to-ssh
and use it from command line:
npm install -g jwk-to-ssh
jwk-to-ssh [keyfile] [comment] [public]
jwk-to-ssh pubkey.jwk.json
jwk-to-ssh privkey.jwk.json root@localhost
jwk-to-ssh privkey.jwk.json root@localhost public
Legal
jwk-to-ssh.js | MPL-2.0 | Terms of Use | Privacy Policy