在NAS服务器上使用gulp-ssh复制文件时出错:权限被拒绝

时间:2019-05-24 08:52:51

标签: javascript ssh gulp scp nas

我正在尝试将文件从PC复制到const formArray = this.form.get('submenus') as FormArray; const secondArray = formArray.get('submenugroups`) as FormArray; const control = secondArray.controls[...] as FormControl; // Continue with your logic. 文件夹中的NAS synology服务器上。

我设法在命令行中执行此操作,但是我无法使用homes/<user>复制。

我有另一台服务器(可变OVH服务器)要并行测试。一切都在OVH服务器上运行良好(所有gulp任务和命令行)。

这是Synology的NAS,我激活了SFTP服务,但不确定它是否有用。

我使用我定义的ssh私钥设法在gulp.dest()中连接到我的NAS。

ssh

我设法使用命令ssh <user>@<host_ip> -p<port> 将文件复制到NAS,没有任何问题。

scp

这是我的大任务:

scp -P <port> test.txt <user>@<host-ip>:~

我尝试用 var os = require('os'); var fs = require('fs'); var GulpSSH = require('gulp-ssh'); var homeDir = os.homedir(); var config = { host: <host_ip>, port: <port>, username: <user>, privateKey: fs.readFileSync(homeDir+'/.ssh/id_rsa') } var gulpSSH = new GulpSSH({ ignoreErrors: false, sshConfig: config }) gulp.task('exec', function () { return gulpSSH .exec(['uptime', 'ls -a', 'pwd'], {filePath: 'commands.log'}) .pipe(gulp.dest('logs')) }) gulp.task('dest', function () { return gulp .src(['test.txt'], {base:'.'}) .pipe(gulpSSH.dest('.')) }) 创建的{base:'.'}替换PC上的父文件夹gulpSSH.dest('.')gulpSSH.dest('some_folder/')替换some_folder

我尝试chmod 777在NAS上的用户目录。

任务'exec'在我的NAS和OVH服务器上都能正常工作。在我的NAS上回应:

chmod 777

任务 09:07:14 up 6 days, 20:41, 0 users, load average: 0.00, 0.00, 0.00 . .. .ssh .viminfo /volume1/homes/<user> 在OVH服务器上工作,但不在我的NAS上,错误:

dest

我想我的NAS服务器上丢失了某些东西,但是只有$ gulp dest [10:17:31] Using gulpfile C:\<path>\gulpfile.js [10:17:31] Starting 'dest'... [10:17:32] Preparing to write "test.txt" [10:17:32] Writing 'test.txt' [10:17:32] 'dest' errored after 424 ms [10:17:32] Error in plugin "gulp-ssh" Message: Permission denied Details: code: 3 lang: 任务和dest任务无法正常工作,所以我想这很有可能。

预先感谢您的帮助

0 个答案:

没有答案
相关问题