Commit f5c955b7 authored by Alejandro E. Rendon's avatar Alejandro E. Rendon
Browse files

[WIP]Add ssh-key

parent 22c2e5f2
if type keychain >/dev/null 2>/dev/null; then
keychain --nogui -q .ssh/id_rsa
[ -f ~/.keychain/${HOSTNAME}-sh ] && . ~/.keychain/${HOSTNAME}-sh
[ -f ~/.keychain/${HOSTNAME}-sh-gpg ] && . ~/.keychain/${HOSTNAME}-sh-gpg
fi
......@@ -112,38 +112,76 @@ exports.createUserCluster = (uid, username, callback) => {
};
exports.sshKey = (user, callback) => {
const path = 'sshpass -p ' +
decrypt(user.linux) +
' ssh ' +
const ssh = new SSH({
host: 'localhost',
user: user.username,
pass: decrypt(user.linux)
});
const pathKey = 'ssh-keygen -b 2048 -t rsa -f /homeshare/' +
user.username +
'@localhost';
'/.ssh/id_rsa -q -N ""',
autKeys = 'cat /homeshare/' +
user.username +
'/.ssh/id_rsa.pub >> /homeshare/' +
user.username +
'/.ssh/authorized_keys',
add = 'if type keychain >/dev/null 2>/dev/null; then' +
'keychain --nogui -q .ssh/id_rsa' +
'[ -f ~/.keychain/${HOSTNAME}-sh ] && . ~/.keychain/${HOSTNAME}-sh' +
'[ -f ~/.keychain/${HOSTNAME}-sh-gpg ] && . ~/.keychain/${HOSTNAME}-sh-gpg' +
'fi',
pathSSH = add + ' >> /homeshare/' + user.username + '/.bashrc';
exec(path, (err, stdout, stderr) => {
if (err)
return callback(err);
else if (stderr)
return callaback(stderr);
else {
const pathKey = 'ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q -N ""';
exec(pathKey, (err, stdout, stderr) => {
if (err)
return callaback(err);
else if (stderr)
return callaback(stderr);
else {
const add = 'if type keychain >/dev/null 2>/dev/null; then' +
'keychain --nogui -q .ssh/id_rsa' +
'[ -f ~/.keychain/${HOSTNAME}-sh ] && . ~/.keychain/${HOSTNAME}-sh' +
'[ -f ~/.keychain/${HOSTNAME}-sh-gpg ] && . ~/.keychain/${HOSTNAME}-sh-gpg' +
'fi';
const pathSSH = add + ' >> .bashrc';
exec(pathSSH, (err, stdout, stderr) => {
if (err) return callaback(err);
else if (stderr) return callaback(stderr);
else return callaback(null);
});
}
});
}
});
ssh
.exec(pathKey, {
err: stderr => {
console.log(stderr);
return callback(stderr);
}
})
.exec(autKeys, {
err: stderr => {
console.log(stderr);
return callback(stderr);
}
})
.exec(pathSSH, {
err: stderr => {
console.log(stderr);
return callback(stderr);
}
})
.start();
return callback(null);
// exec(path, (err, stdout, stderr) => {
// if (err)
// return callback(err);
// else if (stderr)
// return callaback(stderr);
// else {
// const pathKey = 'ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q -N ""';
// exec(pathKey, (err, stdout, stderr) => {
// if (err)
// return callaback(err);
// else if (stderr)
// return callaback(stderr);
// else {
// const add = 'if type keychain >/dev/null 2>/dev/null; then' +
// 'keychain --nogui -q .ssh/id_rsa' +
// '[ -f ~/.keychain/${HOSTNAME}-sh ] && . ~/.keychain/${HOSTNAME}-sh' +
// '[ -f ~/.keychain/${HOSTNAME}-sh-gpg ] && . ~/.keychain/${HOSTNAME}-sh-gpg' +
// 'fi';
// const pathSSH = add + ' >> .bashrc';
// exec(pathSSH, (err, stdout, stderr) => {
// if (err) return callaback(err);
// else if (stderr) return callaback(stderr);
// else return callaback(null);
// });
// }
// });
// }
// });
};
......@@ -30,6 +30,7 @@
"crypto": "0.0.3",
"crypto-js": "^3.1.9-1",
"debug": "2.4.4",
"dedent": "^0.7.0",
"ejs": "^2.5.2",
"express": "~4.14.0",
"express-partials": "^0.3.0",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment