Node.JS 使用脚本 运行 通过 SSH 导出 PGP 密钥
Exporting PGP Keys over SSH using a script run by Node.JS
我正在尝试使用此脚本将 PGP 子密钥导出到远程计算机:
#!/bin/bash
ssh-keyscan -H $REMOTE_MACHINE >> /root/.ssh/known_hosts
gpg2 --verbose --export-secret-key \
$EXPORT_THIS_ID | sshpass -p $REMOTE_PASS \
ssh $REMOTE_USER@$REMOTE_MACHINE \
gpg2 --verbose --import
echo '' > /root/.ssh/known_hosts
我得到的回复是:
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
gpg: writing to stdout
gpg: WARNING: nothing exported
Permission denied, please try again.
这是从 nodejs 后端完成的,脚本是 运行 使用 child.spawn
并且响应通过管道传输到前端以显示给用户。
我看到 gpg 说写到标准输出,但我不确定从这里去哪里。
以上脚本完美运行。我的问题是我如何将 $REMOTE_PASS
变量传递给脚本。对于遇到这种情况的人,请注意密码中的特殊字符。如有必要,将传递封装在 ""
(引号)中。为了安全起见,如果密码是高度机密的,请不要处理这样的密码。
就我而言,初始连接后密码不再可用。
我正在尝试使用此脚本将 PGP 子密钥导出到远程计算机:
#!/bin/bash
ssh-keyscan -H $REMOTE_MACHINE >> /root/.ssh/known_hosts
gpg2 --verbose --export-secret-key \
$EXPORT_THIS_ID | sshpass -p $REMOTE_PASS \
ssh $REMOTE_USER@$REMOTE_MACHINE \
gpg2 --verbose --import
echo '' > /root/.ssh/known_hosts
我得到的回复是:
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
# host.mynet.lan:22 SSH-2.0-OpenSSH_8.0
gpg: writing to stdout
gpg: WARNING: nothing exported
Permission denied, please try again.
这是从 nodejs 后端完成的,脚本是 运行 使用 child.spawn
并且响应通过管道传输到前端以显示给用户。
我看到 gpg 说写到标准输出,但我不确定从这里去哪里。
以上脚本完美运行。我的问题是我如何将 $REMOTE_PASS
变量传递给脚本。对于遇到这种情况的人,请注意密码中的特殊字符。如有必要,将传递封装在 ""
(引号)中。为了安全起见,如果密码是高度机密的,请不要处理这样的密码。
就我而言,初始连接后密码不再可用。