smartssh/dist/smartssh.classes.sshconfig.js

49 lines
5.7 KiB
JavaScript

"use strict";
require("typings-global");
var plugins = require("./smartssh.plugins");
var SshConfig = (function () {
function SshConfig(sshKeyArrayArg) {
this.sshKeyArray = sshKeyArrayArg;
}
/**
* stores a config file
*/
SshConfig.prototype.store = function (dirPathArg) {
var done = plugins.q.defer();
var configArray = [];
var configString;
for (var key in this.sshKeyArray) {
var sshKey = this.sshKeyArray[key];
if (sshKey.host) {
configString = "Host " + sshKey.host + "\n" +
" HostName " + sshKey.host + "\n" +
" IdentityFile ~/.ssh/" + sshKey.host + "\n" +
" StrictHostKeyChecking no" + "\n";
}
configArray.push({
configString: configString,
authorized: sshKey.authorized,
sshKey: sshKey
});
}
var configFile = "";
for (var key in configArray) {
configFile = configFile + configArray[key].configString + "\n";
}
;
plugins.smartfile.memory.toFsSync(configFile, plugins.path.join(dirPathArg, "config"));
return done.promise;
};
SshConfig.prototype.read = function (dirPathArg) {
var done = plugins.q.defer();
var configArray;
return done.promise;
};
return SshConfig;
}());
exports.SshConfig = SshConfig;
;
;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUFnQixDQUFDLENBQUE7QUFDeEIsSUFBWSxPQUFPLFdBQU0sb0JBQW9CLENBQUMsQ0FBQTtBQUk5QztJQUVJLG1CQUFZLGNBQXVCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILHlCQUFLLEdBQUwsVUFBTSxVQUFpQjtRQUNuQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLElBQUksV0FBVyxHQUFrQixFQUFFLENBQUM7UUFDcEMsSUFBSSxZQUFZLENBQUM7UUFDakIsR0FBRyxDQUFBLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBLENBQUM7WUFDN0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxFQUFFLENBQUEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQztnQkFDWixZQUFZLEdBQUcsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSTtvQkFDeEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSTtvQkFDbEMsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJO29CQUM3Qyw0QkFBNEIsR0FBRyxJQUFJLENBQUE7WUFDMUQsQ0FBQztZQUNELFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsWUFBWSxFQUFDLFlBQVk7Z0JBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDN0IsTUFBTSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksVUFBVSxHQUFVLEVBQUUsQ0FBQztRQUMzQixHQUFHLENBQUEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsQ0FBQSxDQUFDO1lBQ3hCLFVBQVUsR0FBRyxVQUFVLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDbkUsQ0FBQztRQUFBLENBQUM7UUFDRixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDRCx3QkFBSSxHQUFKLFVBQUssVUFBVTtRQUNYLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsSUFBSSxXQUEwQixDQUFDO1FBRS9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDTCxnQkFBQztBQUFELENBeENBLEFBd0NDLElBQUE7QUF4Q1ksaUJBQVMsWUF3Q3JCLENBQUE7QUFBQSxDQUFDO0FBTUQsQ0FBQyIsImZpbGUiOiJzbWFydHNzaC5jbGFzc2VzLnNzaGNvbmZpZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3NtYXJ0c3NoLnBsdWdpbnNcIjtcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzXCI7XG5pbXBvcnQge1NzaEtleX0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hrZXlcIlxuXG5leHBvcnQgY2xhc3MgU3NoQ29uZmlnIHtcbiAgICBzc2hLZXlBcnJheTpTc2hLZXlbXTtcbiAgICBjb25zdHJ1Y3Rvcihzc2hLZXlBcnJheUFyZzpTc2hLZXlbXSl7XG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkgPSBzc2hLZXlBcnJheUFyZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzdG9yZXMgYSBjb25maWcgZmlsZVxuICAgICAqL1xuICAgIHN0b3JlKGRpclBhdGhBcmc6c3RyaW5nKXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgbGV0IGNvbmZpZ0FycmF5OmNvbmZpZ09iamVjdFtdID0gW107XG4gICAgICAgIGxldCBjb25maWdTdHJpbmc7XG4gICAgICAgIGZvcihsZXQga2V5IGluIHRoaXMuc3NoS2V5QXJyYXkpe1xuICAgICAgICAgICAgbGV0IHNzaEtleSA9IHRoaXMuc3NoS2V5QXJyYXlba2V5XTtcbiAgICAgICAgICAgIGlmKHNzaEtleS5ob3N0KXtcbiAgICAgICAgICAgICAgICBjb25maWdTdHJpbmcgPSBcIkhvc3QgXCIgKyBzc2hLZXkuaG9zdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiAgSG9zdE5hbWUgXCIgKyBzc2hLZXkuaG9zdCArIFwiXFxuXCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiAgSWRlbnRpdHlGaWxlIH4vLnNzaC9cIiArIHNzaEtleS5ob3N0ICsgXCJcXG5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiICBTdHJpY3RIb3N0S2V5Q2hlY2tpbmcgbm9cIiArIFwiXFxuXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbmZpZ0FycmF5LnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbmZpZ1N0cmluZzpjb25maWdTdHJpbmcsXG4gICAgICAgICAgICAgICAgYXV0aG9yaXplZDogc3NoS2V5LmF1dGhvcml6ZWQsXG4gICAgICAgICAgICAgICAgc3NoS2V5OiBzc2hLZXlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjb25maWdGaWxlOnN0cmluZyA9IFwiXCI7XG4gICAgICAgIGZvcihsZXQga2V5IGluIGNvbmZpZ0FycmF5KXtcbiAgICAgICAgICAgIGNvbmZpZ0ZpbGUgPSBjb25maWdGaWxlICsgY29uZmlnQXJyYXlba2V5XS5jb25maWdTdHJpbmcgKyBcIlxcblwiO1xuICAgICAgICB9O1xuICAgICAgICBwbHVnaW5zLnNtYXJ0ZmlsZS5tZW1vcnkudG9Gc1N5bmMoY29uZmlnRmlsZSxwbHVnaW5zLnBhdGguam9pbihkaXJQYXRoQXJnLFwiY29uZmlnXCIpKTtcbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbiAgICB9XG4gICAgcmVhZChkaXJQYXRoQXJnKXtcbiAgICAgICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICAgICAgbGV0IGNvbmZpZ0FycmF5OmNvbmZpZ09iamVjdFtdO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbiAgICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIGNvbmZpZ09iamVjdCB7XG4gICAgY29uZmlnU3RyaW5nOnN0cmluZztcbiAgICBhdXRob3JpemVkOmJvb2xlYW47XG4gICAgc3NoS2V5OlNzaEtleTtcbn07XG5cbiJdfQ==