로컬 컴퓨터를 무시하고 한 서버에서 다른 서버로 직접 파일을 복사하려고합니다.
내가 했어
scp -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
Password:
Host key verification failed.
lost connection
이것이 가능합니까? 어떻게 고칠 수 있습니까?
로컬 컴퓨터를 무시하고 한 서버에서 다른 서버로 직접 파일을 복사하려고합니다.
내가 했어
scp -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
Password:
Host key verification failed.
lost connection
이것이 가능합니까? 어떻게 고칠 수 있습니까?
답변:
두 서버 사이에 연결이 없을 때 상당히 자주 사용하는 것
scp -3 user@server1:/path/to/file user@server2:/path/to/file
출처
-3 두 원격 호스트 사이의 사본이 로컬 호스트를 통해 전송됩니다. 이 옵션을 사용하지 않으면 데이터가 두 원격 호스트간에 직접 복사됩니다. 이 옵션은 진행률 표시기를 비활성화합니다.
youu가 둘 다에 잘 연결되어 있다고 가정하면 너무 느리지 않습니다.
-r
디렉토리를 복사하는 경우 플래그 를 추가하는 것을 잊지 마십시오 .
예, 가능하지만 해당 이름을 사용하여 server1.com
도달 할 수 있는 경우에만 가능합니다 server2.com
. 그렇지 않으면 아마도 메시지가 나타납니다.ssh: connect to host server2 port 22: Connection refused
이 man
페이지 scp
는 네트워크의 호스트간에 복사되며 다음 을 명확하게 설명합니다.
두 원격 호스트 사이의 사본도 허용됩니다.
당신은 (일단)해야 할 무엇 ssh
에 username@server1.com
거기가에서 ssh
에 username@server2.com
. 호스트 키 확인 메시지를 제거하려면 예와 함께 제공되는 진위성 질문에 대답하십시오.scp
다음을 사용하여 전달 에이전트를 활성화해야 할 수도 있습니다.
scp -o "ForwardAgent yes" -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
그러나 그 위험을 깨닫게하십시오 ( man ssh_config
)
ssh
이르기 server1.com
까지 server2.com
질문에 대답하고 성공했습니다. 그런 다음 로컬 컴퓨터로 돌아가서 다시 수행하고 server2.com
의 비밀번호 프롬프트를받습니다. 그러나 거기 실패Permission denied (publickey,keyboard-interactive). lost connection
server1
에 server2
암호를 제공하지 않고. "ForwardAgent yes"를 설정해야 할 수도 있습니다.
먼저 동일한 오류가 발생하면 오류없이 server2에 ssh 할 수 있는지 확인해야합니다. 파일을 열고 ~/.ssh/known_hosts
server2 키를 검색하여 삭제하십시오.
그런 다음 호스트 이름으로 서버를 ping 할 수 있는지 확인하십시오.
그렇지 않은 경우 아래 언급 된대로 서버 호스트 파일을 모두 편집하십시오.
#vi /etc/hosts
server1 192.186.x.x
server2 192.186.x.xx
:wq ---> to save
이 CD로 서버에 복사하려는 파일의 위치로 작업을 마친 후
는 scp file_name user@server2:/path_to_the_directory
---> 당신은 당신이 말할 수있는 호스트 이름 대신 IP를 사용하여 -R
디렉토리를 복사 할 수 있습니다.