Я пытаюсь отправить каталог на сервер с помощью rsync. Что не так с этой командой?

Привет,

Я пытаюсь отправить каталог на мой компьютер с SSH через порт 2222. Увидеть ниже. Я получаю сообщение об ошибке "Отказано в соединении". Любая идея, как я могу сделать эту работу?

rsync --update -P -r -v -e ssh -p $ 2222 /home /pi /rsynctest root@192.168.43.168:/root /rsynctest /

Веса

Платформа: Debian custom

1 ответ1

3

Введите ssh-with-port в качестве единственного аргумента, например -e 'ssh -p 2222' или -e "ssh -p 2222" . То, что вы написали, указывает ssh в качестве аргумента опции -e затем опцию -p для rsync (то же самое, что и --perms), за которой следует, вероятно, поддельное имя файла, которое выдаст ошибку, если соединение (и аутентификация) будет успешным.

Не используйте $2222 . Это не будет указывать номер 2222; в одинарных кавычках будет указана фактическая строка $2222 которая не является числом, в двойных кавычках она будет расширена до второго позиционного параметра вашей оболочки, который, вероятно, является пустой строкой, за которым следует 222 .

В качестве альтернативы, как сказано в справочной странице, вы можете использовать конфигурационный файл ssh (обычно) .ssh/ssh_config для автоматического указания порта (для всех, одного или нескольких хостов). Это также относится к другим вещам, которые вы делаете, которые используют ssh, таким как scp sftp и, конечно, ssh , что, вероятно, здесь желательно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .