[ssh] rsync를 사용할 때 다른 ssh 포트를 지정할 수 있습니까?

다음 명령을 시도했습니다.

rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path

SSH가 포트 2222에서 실행 중이지만 rsync는 여전히 포트 22를 사용하려고 시도하지만 경로를 찾지 못하는 것에 대해 불평합니다. 물론 존재하지 않습니다.

비표준 ssh 포트에서 원격 호스트로 재 동기화가 가능한지 알고 싶습니다.



답변

rsync를 실행하는 호스트의 다른 옵션은 ssh 구성 파일에서 포트를 설정하십시오.

cat ~/.ssh/config
Host host
    Port 2222

그런 다음 ssh를 통한 rsync는 포트 2222와 통신합니다.

rsync -rvz --progress --remove-sent-files ./dir user@host:/path


답변

명령 행은 다음과 같아야합니다.

rsync -rvz -e 'ssh -p 2222' --progress ./dir user@host:/path

이것은 잘 작동합니다-새로운 방화벽 규칙이 없어도 항상 사용합니다. SSH 명령 자체는 따옴표로 묶여 있습니다.


답변

특정 SSH 포트를 통해 파일을 보내야 할 경우 :

rsync -azP -e "ssh -p PORT_NUMBER" source destination

rsync -azP -e "ssh -p 2121" /path/to/files/source user@remoteip:/path/to/files/destination


답변

“rsh 옵션”을 사용하십시오. 예 :

rsync -avz --rsh='ssh -p3382' root@remote_server_name:/opt/backups

참조 : http://www.linuxquestions.org/questions/linux-software-2/rsync-ssh-on-different-port-448112/


답변

약간의 주제는 아니지만 누군가를 도울 수 있습니다. 비밀번호와 포트를 전달해야하는 경우 sshpass패키지를 사용하는 것이 좋습니다 . 명령 행 명령은 다음과 같습니다.
sshpass -p "password" rsync -avzh -e 'ssh -p PORT312' root@192.xx.xxx.xxx:/dir_on_host/


답변

Mike Hike Hostetler 사이트 에서이 솔루션을 찾았 습니다.

# rsync -avz -e "ssh -p $portNumber" user@remoteip:/path/to/files/ /local/path/


답변

올바른 구문은 Rsync에게 SSH를 사용하여 원격으로 보안 터널을 만든 다음 localhost를 통해 연결하는 사용자 정의 SSH 명령 (-p 2222 추가)을 사용하도록 지시하는 것입니다.

rsync -rvz –progress –remove-sent-files -e “ssh -p 2222”./dir user @ host / path

Rsync는 안전하지 않은 TCP 포트 873에서 데몬으로 실행됩니다.

Rsync man에서 :

푸시 : rsync [OPTION …] SRC … [USER @] HOST : DEST

사람들이 이것을 시도하도록 오도하는 것은 무엇입니까?

rsync -rvz –progress –remove-sent-files ./dir user @ host : 2222 / path

그러나 포트 2222의 Rsync 데몬에 연결하도록 지시합니다 .