Как написать запрос SFTP get в одну строку?

Возникла такая задача:
Нужно с удаленного сервера, именно через SFTP, именно одной строкой получить удаленный файл.

Для этого есть пользователь SFTP, с паролем(без него тоже никак).

Так же надо делать это используя PHP файл, допустим команду exec() - которая выполняет команды как в командной строке.
Пробовал всякие глупые варианты, типа:

exec('sftp user:password@10.78.77.222 get /home/www/x1/test/file.php /home/www/x2/test/file.php');


И

exec('sftp user:password@10.78.77.222:/home/www/x1/test/file.php /home/www/x2/test/file.php');


И

exec('sftp user@10.78.77.222 && password && get /home/www/x1/test/file.php /home/www/x2/test/file.php');


Но видимо я все делаю не так.
  • Вопрос задан
  • 687 просмотров
Решения вопроса 1
qlkvg
@qlkvg
python backend developer
Если есть возможность, поставьте sshpass
sshpass -p <password> sftp <remote-username>@<remote-host>:/path/to/source /path/to/dest
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dummyman
@dummyman
диссидент-схизматик
Если есть доступ ssh, есть простая команда:
rsync -avr -e ssh /home/dir user@example.com:/home/

Но сначала надо сделать безпарольную авторизацию по ssh-ключу
https://www.digitalocean.com/community/tutorials/h...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы