1 line
929 B
JavaScript
1 line
929 B
JavaScript
"use strict";var e=function(e){return e&&e.__esModule?e["default"]:e},r=require("child_process"),i=r.spawn,o=r.exec,n=e(require("fs")),s=e(require("path")),t=e(require("osenv")),u={run:function(e,r){var o=i("sh",["-c","ssh root@"+e.ip],{stdio:"inherit"});o.on("exit",function(){r(null)})},addKey:function(e,r){var i=s.resolve(t.home(),".ssh/id_rsa.pub");n.readFile(i,"utf8",function(n,s){return n?-2===n.errno?void r(new Error("There isn't a public key at the expected location: '"+i+"'")):void r(n):void o("ssh root@"+e.ip+' "cat .ssh/authorized_keys"',function(i,n){if(i){if(-1===i.toString().indexOf("can't open '.ssh/authorized_keys'"))return void r(i)}else if(-1!==n.indexOf(s))return void r(new Error("Your ssh key was already added"));o("cat ~/.ssh/id_rsa.pub | ssh root@"+e.ip+' "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"',function(e){return e?void r(e):void r(null)})})})},tunnel:function(){}};module.exports=u; |