arquivos SCP de machineB para machineA

2

Estou tentando scp os arquivos de machineB para machineA . Eu preciso executar o scp command de machineA para copiar arquivos de machineB para machineA .

O arquivo que eu preciso copiar de machineB é -

/bat/data/snapshot/5.data

E onde eu preciso copiar o arquivo em machineA é -

/data01/primary

em que eu tenho acesso root também e /data01/primary tem apenas credenciais raiz. Abaixo está o ls -lt on machineA

david@machineA:/$ ls -lt

drwxr-xr-x   3 root root  4096 Nov  7 17:43 data02
drwxr-xr-x   3 root root  4096 Nov  7 17:42 data01
drwxr-xr-x   4 root root  4096 Nov  7 17:26 opt

Então eu estava tentando o comando scp abaixo em machineA para copiar os arquivos -

scp david@machineB:/bat/data/snapshot/5.data root@machineA:/data01/primary

mas estou sempre recebendo -

Host key verification failed.

Eu tenho acesso root ao machineA, mas não acesso root ao machineB. E eu posso pingar machineB de machineA também. E as duas máquinas também estão no domínio de produção.

    
por SSH 17.12.2013 / 03:51

2 respostas

4

Dicas menores

Se você está logado no machineA como root, então eu não acho que seja necessário dizer o root@machineA:/... bit, você pode dizer isso um pouco menos como:

$ scp david@machineB:/bat/data/snapshot/5.data /data01/primary

Eu sempre digo diretórios de destino como este também, só assim é mais óbvio o que vai acontecer:

$ scp david@machineB:/bat/data/snapshot/5.data /data01/primary/.

Seu problema

Mas não acho que essa seja a causa raiz da sua mensagem de erro:

Host key verification failed.

Em vez disso, essa mensagem geralmente significa que você tem uma chave de host inválida e / ou fora de sincronia no arquivo /etc/.ssh/known_hosts .

Você pode confirmar com este comando:

$ ssh-keygen -R <hostname>

Exemplo

$ ssh-keygen -R skinner
# Host skinner found: line 1 type RSA
# Host skinner found: line 125 type RSA
/home/saml/.ssh/known_hosts updated.
Original contents retained as /home/saml/.ssh/known_hosts.old

Ignorando a verificação do host

Se você sabe o que está fazendo e não se importa com a verificação do host, é possível desativá-lo temporariamente assim:

$ scp -o StrictHostKeyChecking=no \
    david@machineB:/bat/data/snapshot/5.data /data01/primary/.

Referências

por 17.12.2013 / 04:23
2

"Falha na verificação da chave do host" significa que você se conectou anteriormente a uma máquina com esse nome e agora está se conectando a uma máquina diferente com o mesmo nome. Em um mundo ideal, isso seria um sinal infalível de que alguém está seqüestrando sua conexão e você está tentando se conectar à máquina do invasor em vez daquela que você queria conectar a você. Portanto, o SSH rejeita a tentativa de conexão.

Como você está copiando entre dois computadores remotos, qualquer um deles pode ser o culpado. Para ver qual deles é, execute um comando em uma máquina, por exemplo ssh david@machineB true e ssh root@machineA true .

Em um comentário , vejo que você está vendo este erro quando você tenta alcançar o machineA de si mesmo. Isso é sempre seguro (a menos que haja esquisitices na resolução de nomes que façam com que o nome da sua máquina se refira a outra máquina). A explicação mais provável é que você reinstalado sua máquina em algum momento, fazendo com que sua chave de host mude, mas você reutilizou o antigo nome do host.

O ssh armazena as informações sobre conexões anteriores no arquivo ~/.ssh/known_hosts . Se você determinou que uma entrada está obsoleta (porque a máquina foi reinstalada), remova-a:

ssh-add -R root@machineA
    
por 18.12.2013 / 02:17

Tags