4 Commits

Author SHA1 Message Date
062f3ad060 1.1.4 2016-06-26 04:23:48 +02:00
ecd0fd8fad now setting rights for stored keys 2016-06-26 04:23:45 +02:00
742bf694e4 1.1.3 2016-06-26 04:07:37 +02:00
38165f11db some updates 2016-06-26 04:07:03 +02:00
11 changed files with 36 additions and 10 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ docs/
ts/typings/ ts/typings/
ts/*.js ts/*.js
ts/*.js.map ts/*.js.map
test/temp/

5
Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM hosttoday/ht-docker-node:npmts
COPY ./ /node-app
WORKDIR /node-app
RUN npm install
RUN npmts

View File

@ -18,5 +18,5 @@ export declare class SshKey {
authorized: boolean; authorized: boolean;
type: any; type: any;
read(filePathArg: any): void; read(filePathArg: any): void;
store(dirPathArg?: string): void; store(dirPathArg: string): void;
} }

File diff suppressed because one or more lines are too long

View File

@ -5,5 +5,6 @@ export declare let fs: any;
export declare let minimatch: any; export declare let minimatch: any;
export import path = require("path"); export import path = require("path");
export declare let q: any; export declare let q: any;
export declare let shelljs: any;
export import smartfile = require("smartfile"); export import smartfile = require("smartfile");
export import smartpath = require("smartpath"); export import smartpath = require("smartpath");

View File

@ -6,7 +6,8 @@ exports.fs = require("fs-extra");
exports.minimatch = require("minimatch"); exports.minimatch = require("minimatch");
exports.path = require("path"); exports.path = require("path");
exports.q = require("q"); exports.q = require("q");
exports.shelljs = require("shelljs");
exports.smartfile = require("smartfile"); exports.smartfile = require("smartfile");
exports.smartpath = require("smartpath"); exports.smartpath = require("smartpath");
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQ1AsQ0FBQyxDQURzQjtBQUNULGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsY0FBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDckMsVUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN6QixpQkFBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5QixZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNkLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydHNzaC5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBiYXNlNjQgPSByZXF1aXJlKFwianMtYmFzZTY0XCIpLkJhc2U2NDtcbmV4cG9ydCBsZXQgZnMgPSByZXF1aXJlKFwiZnMtZXh0cmFcIik7XG5leHBvcnQgbGV0IG1pbmltYXRjaCA9IHJlcXVpcmUoXCJtaW5pbWF0Y2hcIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydHBhdGggPSByZXF1aXJlKFwic21hcnRwYXRoXCIpOyJdfQ== //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQ1AsQ0FBQyxDQURzQjtBQUNULGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsY0FBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDckMsVUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN6QixpQkFBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5QixZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDakMsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydHNzaC5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIlxuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xuZXhwb3J0IGxldCBiYXNlNjQgPSByZXF1aXJlKFwianMtYmFzZTY0XCIpLkJhc2U2NDtcbmV4cG9ydCBsZXQgZnMgPSByZXF1aXJlKFwiZnMtZXh0cmFcIik7XG5leHBvcnQgbGV0IG1pbmltYXRjaCA9IHJlcXVpcmUoXCJtaW5pbWF0Y2hcIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0ZmlsZSA9IHJlcXVpcmUoXCJzbWFydGZpbGVcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0cGF0aCA9IHJlcXVpcmUoXCJzbWFydHBhdGhcIik7Il19

View File

@ -1,6 +1,6 @@
{ {
"name": "smartssh", "name": "smartssh",
"version": "1.1.2", "version": "1.1.4",
"description": "setups SSH quickly and in a painless manner", "description": "setups SSH quickly and in a painless manner",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@ -28,6 +28,7 @@
"js-base64": "^2.1.9", "js-base64": "^2.1.9",
"minimatch": "^3.0.2", "minimatch": "^3.0.2",
"q": "^1.4.1", "q": "^1.4.1",
"shelljs": "^0.7.0",
"smartfile": "^4.0.5", "smartfile": "^4.0.5",
"smartpath": "^3.2.2", "smartpath": "^3.2.2",
"typings-global": "^1.0.3", "typings-global": "^1.0.3",

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,7 @@
import "typings-test" import "typings-test"
import "should"; import "should";
import smartssh = require("../dist/index"); import smartssh = require("../dist/index");
import path = require("path");
describe("smartssh",function(){ describe("smartssh",function(){
let testSshInstance:smartssh.SshInstance; let testSshInstance:smartssh.SshInstance;
let testSshKey:smartssh.SshKey; let testSshKey:smartssh.SshKey;
@ -24,6 +25,9 @@ describe("smartssh",function(){
}); });
it(".publicKeyBase64 should be public key base 64 encoded",function(){ it(".publicKeyBase64 should be public key base 64 encoded",function(){
testSshKey.pubKeyBase64; testSshKey.pubKeyBase64;
});
it(".store() should store the file to disk",function(){
testSshKey.store(path.join(process.cwd(),"test/temp"));
}) })
}); });
describe(".SshInstance",function(){ describe(".SshInstance",function(){

View File

@ -77,14 +77,18 @@ export class SshKey {
read(filePathArg){ read(filePathArg){
} }
store(dirPathArg?:string){ store(dirPathArg:string){
plugins.fs.ensureDirSync(dirPathArg); plugins.fs.ensureDirSync(dirPathArg);
let fileNameBase = this.host; let fileNameBase = this.host;
if(this._privKey){ if(this._privKey){
plugins.smartfile.memory.toFsSync(this._privKey,plugins.path.join(dirPathArg,fileNameBase)); let filePath = plugins.path.join(dirPathArg,fileNameBase);
plugins.smartfile.memory.toFsSync(this._privKey,filePath);
plugins.shelljs.chmod(600,filePath);
}; };
if (this._pubKey){ if (this._pubKey){
plugins.smartfile.memory.toFsSync(this._pubKey,plugins.path.join(dirPathArg,fileNameBase + ".pub")); let filePath = plugins.path.join(dirPathArg,fileNameBase + ".pub");
plugins.smartfile.memory.toFsSync(this._pubKey,filePath);
plugins.shelljs.chmod(600,filePath);
} }
} }
} }

View File

@ -5,5 +5,6 @@ export let fs = require("fs-extra");
export let minimatch = require("minimatch"); export let minimatch = require("minimatch");
export import path = require("path"); export import path = require("path");
export let q = require("q"); export let q = require("q");
export let shelljs = require("shelljs");
export import smartfile = require("smartfile"); export import smartfile = require("smartfile");
export import smartpath = require("smartpath"); export import smartpath = require("smartpath");