com scp posso obter um arquivo
scp remoteA:file .
e coloque um arquivo
scp file remoteB:
mas quando eu tento
scp remoteA:file remoteB:
eu recebo
ssh: Could not resolve hostname remoteB: Name or service not known
lost connection
por que?
EDITAR:
a descrição de remoteA e remoteB está em ~/.ssh/config
Responder1
provavelmente não está relacionado ao próprio scp, mas a algum tipo de resolução de nomes de um host para outro. outra coisa a considerar é a autenticação. é melhor que você tenha uma chave de autenticação sem senha de A a B. em qual host .ssh/config você está definindo esses hosts? scp não está encontrando essa definição. tente o fqdn real do host e ele deve funcionar bem, se a definição do host for o problema. além disso, use -v para ver se mais detalhes podem ser encontrados sobre o erro.
Responder2
Você precisa especificar um host que remoteA
possa alcançar porque a cópia é feita remoteA
diretamente para remoteB
.
Para evitar isso, você pode usar a -3
opção. man scp
diz o que faz:
As cópias entre dois hosts remotos são transferidas através do host local. Sem esta opção os dados são copiados diretamente entre os dois hosts remotos. Observe que esta opção desativa o medidor de progresso.
Responder3
Para aqueles que vêm aqui porque o scp acusa um arquivo local de ser um nome de host que não consegue resolver (outra fonte deNome ou serviço desconhecido), como:
> 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
Gambiarra:
> scp ./archive_2017-03-01-09:54:02.tar.gz backupserver:/var/backups/