【发布时间】:2021-05-25 02:10:00
【问题描述】:
如果您在终端中运行命令,请说
rsync -avuP [SourcPath] [DestPath]
该命令将被登录,例如 .bash_history、.zsh_history、.bash_sessions 等。
所以如果你使用像 sshpass 这样众所周知的不安全的东西
说sshpass -P password -p MySecetPassword [Some command requiring std input],也会被记录。
但是,当您在使用 Node JS 生成进程时执行等效操作时会发生什么?
passw = functionThatRetrievesPasswordSecurely();
terminalCmd = "sshpass";
terminalArgs = ["-P, "password", "-p", passw, "command", "requiring", "a", "password", "entry"];
spawn = require("child_process").spawn(terminalCmd, terminalArgs);
spawn.stdout.on("data", data => {console.log("stdout, no details"});
spawn.stderr.on("data", data => {console.log("stderr, no details"});
spawn.on("close", data => {console.log("Process complete, no details"});
terminalCmd 或 terminalArgs 是否记录在任何地方?
如果有,在哪里?
如果不是,这是使用 opf sshpass 的安全方式吗?
【问题讨论】:
标签: node.js security spawn sshpass