3

с помощью scp я могу получить файл

 scp remoteA:file .

и положил файл

 scp file remoteB:

но когда я пытаюсь

 scp remoteA:file remoteB:

я получил

ssh: Could not resolve hostname remoteB: Name or service not known
lost connection

Зачем?

РЕДАКТИРОВАТЬ:

описание remoteA и remoteB находится в ~/.ssh/config

3 ответа3

6

Вам необходимо указать хост, к которому может remoteA поскольку копия делается с remoteA непосредственно на remoteB .

Чтобы избежать этого, вы можете использовать опцию -3 . man scp говорит, что он делает:

Копии между двумя удаленными хостами передаются через локальный хост. Без этой опции данные копируются непосредственно между двумя удаленными хостами. Обратите внимание, что эта опция отключает индикатор прогресса.

2

скорее всего, не связано с самим scp, но каким-то образом разрешением имен от одного хоста к другому. Еще одна вещь, которую следует учитывать, это аутентификация. Лучше всего, если у вас есть ключ аутентификации без пароля от A до B. На каком хосте .ssh/config вы определяете эти хосты? scp не находит это определение. попробуйте настоящий fqdn хоста, и он должен работать нормально, если проблема заключается в определении хоста. также используйте -v, чтобы узнать, можно ли найти больше подробностей об ошибке.

0

Для тех, кто приходит сюда, потому что scp обвиняет локальный файл в том, что он является именем хоста, которое он не может разрешить (другой источник имени или служба неизвестна), например:

> scp archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/
ssh: Could not resolve hostname archive_2017-03-01-09:54:02.tar.gz: Name or service not known

Временное решение:

> scp ./archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/

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