scp remoteA:файл remoteB:

scp remoteA:файл remoteB:

с помощью 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

решение1

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

решение2

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

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

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

решение3

Для тех, кто пришел сюда, потому что 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/

Связанный контент