연구 기관이 호스팅하는 가상 머신 인 원격 서버에서 디렉토리를 정기적으로 백업해야합니다. 그들은 VM에 대한 액세스가 ssh 키를 통해 이루어 지도록 지시합니다.이 서버의 ssh 키를 rsync로 지정하는 방법을 알 수 없다는 점을 제외하고는 모두 좋습니다.
키 파일이 있으면 Rsync에 문제가 없지만 ~/.ssh/id_rsa
다른 것이 있으면 얻을 수 Permission denied (publickey)
있습니다.
ssh를 사용하면 ID 파일을로 지정할 수 -i
있지만 rsync에는 해당 옵션이없는 것으로 보입니다.
로컬 컴퓨터의 키를 일시적으로로 이동하려고 시도 ~/.ssh/id_rsa
했지만 비슷하게 작동하지 않습니다.
tl; dr
rsync로 ID 파일을 지정할 수 있습니까?
답변
‘-e’옵션을 통해 정확한 ssh 명령을 지정할 수 있습니다.
rsync -Pav -e "ssh -i $HOME/.ssh/somekey" username@hostname:/from/dir/ /to/dir/
많은 ssh 사용자는 ~ / .ssh / config 파일에 익숙하지 않습니다. 구성 파일을 통해 호스트 당 기본 설정을 지정할 수 있습니다.
Host hostname
User username
IdentityFile ~/.ssh/somekey
장기적으로 ~ / .ssh / config 파일을 배우는 것이 가장 좋습니다.
답변
SSH 사용자 구성으로 수행 할 수 있습니다 : http://www.cyberciti.biz/faq/create-ssh-config-file-on-linux-unix/
기본적으로 ~ / .ssh / config를 편집 하십시오
.
$ nano ~/.ssh/config
#Add Hosts below
Host server1
HostName examplehost.com
User username
Port 22
IdentityFile /path/to/key
$ rsync -e ssh /home/user/directory user@remote.host.net:home/user/directory/
SSH, rsync를 사용하는 모든 프로그램에서 작동합니다.
답변
나를 위해 다음과 같이 ssh-agent를 시작하는 것으로 충분했습니다.
eval `ssh-agent -s`
ssh-add /path/to/mykey
자세한 답변은 여기 https : //.com/questions/17846529/could-not-open-a-connection-to-your-authentication-agent
답변
참고 사항 :
1) 공개 키는 항상 원격 서버에 로그인하는 사용자의 홈 디렉토리에 있습니다. 즉, “백업”으로 로그인하면 /home/backup/.ssh/authorized_keys에 있습니다. 로그인시 사용자 ID는 대상에서 사용되는 공개 키를 정의합니다.
두 가지 방법으로 연결시 사용자 ID를 선택할 수 있습니다.
ssh user_id@destination.server
or
ssh -l user_id destination_server (<-- that is lower case "L")
반면에 개인 키는 Dan의 답변에 설명 된 것처럼 키를 재정의하지 않는 한 사용자의 homedir에서 비슷한 방식으로 사용됩니다.
2) 백업 목적으로 “rsync”와 같은 하나의 명령 만 실행하도록 제한된 제한된 키를 작성하는 것이 바람직 할 수 있습니다. 권한이없는 사용자 계정과 “sudo”를 사용하여 전체 서버를 원격으로 백업 할 수있는 “rsnapshot”백업과 관련하여 좋은 설명이 있습니다.
Rsnapshot은 다수의 원격 또는 로컬 서버를 쉽게 백업 할 수 있으므로 예약 및 중앙 집중식 백업 서버를 편리하게 사용할 수 있습니다.