gpt4 book ai didi

node.js - 从脚本(nodejs)运行时如何让rsync识别ssh publickey

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:45 27 4
gpt4 key购买 nike

这里有一个奇怪的问题。

通过 ssh 运行脚本调用 rsync 抛出

"Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [receiver]"

奇怪的是:

  1. ssh user@host 有效,因此 ssh key 都已正确设置
  2. 将脚本生成的命令记录并粘贴到终端中
  3. 从脚本运行 whoami 显示正确的用户,环境通过 process.env 传递给 spawn 实例
  4. 从脚本运行 ssh user@host 不会抛出错误并返回缓冲区,所以这似乎有效
  5. 运行脚本(简单地执行已经测试过的命令)会抛出上述错误

    var spawn = require('child_process').spawn;
    spawn('rsync', [
    '-avc',
    '--delete',
    '"'+src+'"' ,
    '--link-dest="'+path.join(dest, folder_name)+'"',
    '"'+path.join(dest, 'latest/')+'"'
    ],{
    cwd: process.cwd(),
    env: process.env
    });

最佳答案

尝试指定 key 的路径

rsync -avz -e "ssh -i /home/thisuser/cron/thishost-rsync-key" remoteuser@remotehost:/remote/dir /this/dir/

关于node.js - 从脚本(nodejs)运行时如何让rsync识别ssh publickey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com