Bug
Encontrou o erro relacionado . Parece ser corrigido no Ubuntu 14.04.5 (openssh 1: 6.6p1-2ubuntu2.8)
Há uma explicação sobre um relatório de erros Redhat :
This problem is also in original openSSH and appears when you try to copy something into non-existing directory with existing parent directory. There is missing check for this boundary condition. Error message is thrown when scp process tries to write into above mentioned file, but this file ends with slash (which is interpretation for directory) and this is the reason for current error message.
Resposta original
Não é possível reproduzir (testado no Ubuntu 14.04.5 LTS e no Linux Mint 17)
-
Se
/local/non-existing/directory
não existir,scp
falhará com:/local/non-existing/directory: No such file or directory
-
Se
/local/existing/directory
existir,scp
cópiasfile
a/local/existing/directory/file
-
Se
remote-host:/path/to/existing/file
for um diretório,scp
falhará com:scp: file: not a regular file
Resolução de problemas
ssh user@remote-host "file /path/to/existing/file"
deve fornecer informações sobre o arquivo remoto (ou possivelmente o diretório).
file /local/non-existing/directory/
deve fornecer informações sobre o diretório local
mkdir -p /local/non-existing/directory/
criará recursivamente o diretório e qualquer pai, se necessário.
Após mkdir -p
, se file
for realmente um arquivo e /local/non-existing/directory/
for realmente um diretório, seu comando scp
deverá funcionar.