Get Social

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

После установки редактора 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/

Post a comment