Por que esse comando scp está criando um diretório um nível acima?

1

Eu estou tentando copiar um arquivo de uma máquina para outra máquina via ssh. Ambas as máquinas são servidores Ubuntu. Ambas as máquinas têm chaves trocadas para que possam se conectar sem senhas.

O comando que eu tenho é assim (os detalhes foram alterados para privacidade, é claro):

scp -i /var/www/place/.ssh/id_rsa file.tar.gz [email protected]:directoryName/file.tar.gz

No entanto, toda vez que eu executo, recebo este erro:

Could not create directory '/var/www/.ssh'.
Host key verification failed.
lost connection

Parece que o comando scp está tentando criar um diretório chamado .ssh um nível acima de place .

O que está acontecendo aqui? O scp precisa criar algum tipo de diretório temporário para executar?

A conta de usuário que está executando o comando tem permissões de leitura / gravação dentro de / var / www / place, mas não / var / www, então como faço para que este comando scp seja executado?

(Por favor, esteja ciente de que eu não sou muito experiente com as coisas de linha de comando do Linux, por favor, faça as respostas detalhadas e simples. Obrigado pela sua compreensão.)

    
por Questioner 23.04.2012 / 10:36

1 resposta

2

O problema não está relacionado à autenticação de chave pública que você configurou. Além de suas chaves privadas e públicas, o SSH também armazenará a chave do host de cada host ao qual você se conectar em seu diretório ~ / .ssh em um arquivo chamado known_hosts. Os erros que você está vendo são das tentativas do SSH de criar inicialmente este arquivo.

    
por 23.04.2012 / 13:20

Tags