한 서버에서 다른 서버로 scp를 사용합니까?

한 서버에서 다른 서버로 scp를 사용합니까?

로컬 시스템을 우회하여 한 서버에서 다른 서버로 직접 파일을 복사하려고 합니다.

내가 해냈어

scp -r [email protected]:~/data/* [email protected]:~/data/
Password: 
Host key verification failed.
lost connection

가능합니까? 어떻게 해결할 수 있나요?

답변1

두 서버 사이에 연결이 없을 때 자주 사용하는 것

scp -3 user@server1:/path/to/file user@server2:/path/to/file

원천

-3 두 원격 호스트 간의 복사본은 로컬 호스트를 통해 전송됩니다. 이 옵션이 없으면 데이터가 두 원격 호스트 간에 직접 복사됩니다. 이 옵션은 진행률 표시기를 비활성화합니다.

두 가지 모두에 잘 연결되어 있다고 가정하면 속도가 너무 느려서는 안됩니다.

답변2

예, 가능합니다. 하지만 해당 이름을 사용하여 액세스 server1.com할 수 있는 경우에만 가능합니다. server2.com그렇지 않은 경우 다음 메시지를 받을 수 있습니다.ssh: connect to host server2 port 22: Connection refused

페이지 man에는 scp네트워크의 호스트 간에 복제된다는 점과 다음 사항이 명확하게 명시되어 있습니다.

또한 두 원격 호스트 간의 복제도 허용합니다.

당신이 (한 번) 해야 할 일은 거기에 ssh도착하는 것입니다 . 다음 작업을 수행할 때 호스트 키 확인 메시지를 제거하려면 "예"를 선택하여 진위 여부에 대한 질문에 답하세요.[email protected]ssh[email protected]scp

다음을 통해 정방향 프록시를 활성화해야 할 수도 있습니다.

scp -o "ForwardAgent yes" -r [email protected]:~/data/* [email protected]:~/data/

하지만 위험을 인지하고 있는지 확인하십시오 ( man ssh_config)

답변3

먼저 오류 없이 server2에 SSH로 연결할 수 있는지 확인해야 합니다. 동일한 오류가 발생하면 파일을 열고 ~/.ssh/known_hostsserver2 키를 검색하여 삭제합니다.

그런 다음 호스트 이름으로 서버를 핑할 수 있는지 확인하십시오.

그렇지 않은 경우 아래 설명에 따라 서버 호스트 파일을 편집하십시오.

 #vi /etc/hosts  
 server1 192.186.x.x  
 server2 192.186.x.xx   
 :wq   ---> to save  

이 작업이 완료되면 서버 2에 복사하려는 파일 위치로 이동하세요.

--- scp file_name user@server2:/path_to_the_directory > 호스트 이름 대신 IP를 사용하여 디렉터리를 복사할 수 있습니다 -R.

답변4

Linux의 경우 다음 명령을 사용하여 한 서버에서 다른 서버로 파일/폴더를 원활하게 복사합니다. 이렇게 하면 서버 연결이 끊어지더라도 작업이 완료됩니다.

nohup bash -c 'scp -r [user_source@Soure_Server_ip]:/[path_to_folder] [user_dest@destination_server_ip]:/[path_to_destination_folder]'>/dev/null 2>&1          

관련 정보