Ошибка копирования файлов с gulp-ssh на сервере NAS: разрешение запрещено - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь скопировать файлы с моего компьютера на сервер синологии NAS в папке homes/<user>.

Мне удается сделать это в командной строке, но мне не удается скопировать с помощью gulp.dest().

У меня есть другой сервер (взаимный сервер OVH) для параллельного тестирования.На сервере OVH все работает хорошо (все задачи и командные строки gulp).

Это NAS от Synology, я активировал службу SFTP, но я не уверен, что она полезна.

Мне удается подключиться к сетевому хранилищу в ssh, используя определенный закрытый ключ ssh.

ssh <user>@<host_ip> -p<port>

Мне удается без проблем скопировать файлы в сетевое хранилище с помощью команды 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:'.'} родительской папкой на моем компьютере, а gulpSSH.dest('.') на gulpSSH.dest('some_folder/') на some_folder, созданный с помощьюchmod 777

Я пытался chmod 777 мой каталог пользователя на NAS.

Задача 'exec' отлично работает на моем NAS и на сервере OVH.Ответ на моем NAS:

 09:07:14 up 6 days, 20:41,  0 users,  load average: 0.00, 0.00, 0.00
.
..
.ssh
.viminfo
/volume1/homes/<user>

Задача dest работает на сервере OVH, НО НЕ на моем 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:

Я предполагаю, что что-то отсутствует на моем NASсервер, но только задача dest и задача sftp не работают, поэтому я думаю, что это что-то с gulp.

Заранее спасибо за помощь

...