Как побороть баг "rsync: Failed to exec ssh -p No such file or directory"

Andy Wits Blog

После установки редактора VS Code в качестве среды разработки на PHP я также нашёл Sync-Rsync пакет в маркетплейсе. Однако, опция "sync-rsync.shell": "ssh -p 1234" не работала...

Visual Studio Code и Sync-Rsync: "Failed to exec ssh -p No such file or directory"

Вывод консоли:

rsync: Failed to exec ssh -p 1234: No such file or directory (2)
rsync error: error in IPC code (code 14) at pipe.c(85) [sender=3.1.1]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in IPC code (code 14) at io.c(226) [sender=3.1.1]

Я перепробовал множество настроек, но ничего не помогало... Однако, решение всё же удалось найти. Если говорить коротко, то нужно сделать следующее:

Проверьте версию rsync:

user@example:~$ rsync --version
rsync  version 3.1.1  protocol version 31

Насколько мне известно, для rsync версий > 2.6 можно указать "-e ssh -p 1234" или можно запустить rsync без указания этого параметра, ssh будет работать в любом случае.

Отредактируйте ~/.ssh/config

nano ~/.ssh/config

и установите настройки своего ssh сервера, подобно тому, как указано ниже:

Host example.com
    User user
    Hostname example.com
    Port 29171
    ... (любые другие настройки, как IdentityFile и т.д.)

Теперь просто используйте rsync (без -e ssh, host username, port number и так далее):

rsync -avz --progress --delete /home/user/some-local-path/ example.com:/home/serveruser/some-remote-path/
Published on Dec 30 2017 at 12:00 am
Time to read 1 minute(s)
Categories
  • System Administration

Contact me on