Próbuję skopiować pliki z jednego serwera bezpośrednio na inny, omijając mój komputer lokalny.
Zrobiłem
scp -r [email protected]:~/data/* [email protected]:~/data/
Password:
Host key verification failed.
lost connection
Czy to w ogóle możliwe? Jak mogę to naprawić?
Odpowiedzi:
Coś, czego używam dość często, gdy nie ma możliwości połączenia między dwoma serwerami
źródło
Zakładając, że masz dobre połączenie z oboma, nie jest to zbyt wolne.
źródło
-r
flagi, jeśli kopiujesz katalog.Tak, jest to możliwe, ale tylko jeśli
server1.com
można doserver2.com
niego dotrzeć , używając tej nazwy. Jeśli nie, prawdopodobnie otrzymasz wiadomość:ssh: connect to host server2 port 22: Connection refused
man
Aktualizacjascp
wyraźnie stwierdza, że kopie między hostami w sieci oraz że:To, co powinieneś zrobić (raz) to
ssh
do[email protected]
i stamtądssh
do[email protected]
. Odpowiedz na pytanie dotyczące autentyczności, które otrzymasz, tak, aby pozbyć się komunikatu weryfikującego klucz hosta podczas wykonywaniascp
Konieczne może być włączenie agenta przekazującego za pomocą:
Ale upewnij się, że zdajesz sobie sprawę z niebezpieczeństwa (
man ssh_config
)źródło
ssh
ed odserver1.com
doserver2.com
, a ja rzeczywiście odpowiedział na pytanie i się udało. Następnie wracam do komputera lokalnego, robię to jeszcze raz i wyświetlamserver2.com
monit o hasło. Ale tam się nie udaje z:Permission denied (publickey,keyboard-interactive). lost connection
server1
doserver2
bez podawania hasła? Może być konieczne ustawienie „ForwardAgent yes”.Najpierw musisz sprawdzić, czy możesz ssh na server2 bez żadnego błędu, jeśli otrzymasz ten sam błąd, to otwórz plik
~/.ssh/known_hosts
i wyszukaj klucz server2 i usuń go.Następnie sprawdź, czy możesz pingować serwer według nazwy hosta
Jeśli nie, edytuj oba pliki hosta serwera, jak wspomniano poniżej
Po zakończeniu pracy z tym dyskiem CD przejdź do lokalizacji pliku, który chcesz skopiować na serwer2
scp file_name user@server2:/path_to_the_directory
---> można użyć adresu IP zamiast nazwy hosta można wspomnieć-R
skopiować katalog.źródło
Sprawdź, czy
~/.ssh/known_hosts
masz odpowiednie rekordy dla obu serwerówSprawdź także, czy serwer 1 ma odpowiedni
~/.ssh/known_hosts
rekord dla serwera 2źródło
Możesz użyć tego polecenia poniżej, aby skopiować plik z jednego serwera na inny:
źródło