대화형 SSH는 OSX에서 작동하지만 rsync 또는 scp에서는 작동하지 않습니다.

대화형 SSH는 OSX에서 작동하지만 rsync 또는 scp에서는 작동하지 않습니다.

ssh동기는 내가 들어갈 수 있는 서버가 있지만 (키 쌍이 있든 없든, 즉 비밀번호가 있든 없든) 을 통과 rsync하거나 scp에 파일을 보낼 수 없다는 것입니다 sftp. 누군가 ssh와 파일 전송 프로토콜이 같은 포트를 사용하는지 확인해야 한다고 했는데 어떻게 확인해야 할지 모르겠습니다.

제가 어떻게 출근할지에 대한 다른 아이디어가 있으시면 알려 rsync주시면 감사하겠습니다.

내가 실행하면 rsync -avvvvvPt ./ [USER]@[REMOTE]:. 다음을 얻습니다.

FILE_STRUCT_LEN=24, EXTRA_LEN=4
cmd=<NULL> machine=[REMOTE] user=[USER] path=.
cmd[0]=ssh cmd[1]=-l cmd[2]=[USER] cmd[3]=[REMOTE] cmd[4]=rsync cmd[5]=--server cmd[6]=-vvvvvlogDtpre.iLsfx cmd[7]=--partial cmd[8]=. cmd[9]=. 
opening connection using: ssh -l [USER] [REMOTE] rsync --server -vvvvvlogDtpre.iLsfx --partial . .  (10 args)
msg checking charset: UTF-8

그런 다음 까지 정지됩니다 ctrl-c.

답변1

두 서버 모두 동일한 SSH 포트를 가지고 있어야 합니다.

한 서버의 포트가 22이고 다른 서버의 포트가 44인 경우 scp가 작동하지 않습니다.

답변2

ForceCommand내 경우에는 원격 서버의 sshd 구성 파일에 설정된 지시문 이었습니다 /etc/ssh/sshd_config. 주석을 달고 서버를 다시 로드한 후 제대로 작동하기 시작했습니다.

답변3

agrek의 요구에 따라 모두 사용 가능한 경우 포트의 .plist 파일을 확인할 수 있습니다.

터미널 프롬프트를 열고 실행하십시오 cat /System/Library/LaunchDaemons/ssh.plist.

조금 아래로 스크롤하면 다음이 표시됩니다.

           <key>Listeners</key>
           <dict>
                  <key>SockServiceName</key>
                   <string>ssh</string>
                  <key>Bonjour</key>
                  <array>
                          <string>ssh</string>
                          <string>sftp-ssh</string>
                 </array>
          </dict>

<string>...<string>당신이 원하는 것은 다음 과 같습니다 <Key> SockServiceName </key>. 위와 같이 텍스트가 ssh인 경우 표준 포트인 포트 22를 사용합니다. 숫자인 경우 해당 숫자가 포트입니다.

Rsync over SSH는 SSH 터널을 통해 데이터를 보내는 것과 동일한 포트를 사용하고, iirc sftp 및 scp는 SSH 터널을 사용하므로 해당 포트는 SSH와 동일합니다.

원천: https://serverfault.com/questions/18761/how-to-change-sshd-port-on-mac-os-x

답변4

iconv 플래그 및 질문에 추가된 정보에 대한 자세한 내용을 읽은 후 새로운 답변을 얻으십시오.

FAQ에 따르면:http://rsync.samba.org/FAQ.html

적절한 --iconv 옵션을 rsync에 전달하여 문자 세트 문제를 피할 수 있습니다. 이 옵션은 소스 파일이 어떤 문자 세트에 있는지, 대상 파일이 어떤 문자 세트에 저장되어 있는지 알려줍니다. 예를 들어 위의 Mac OS X 문제는 --iconv=UTF-8,UTF8-MAC를 사용하여 처리됩니다(UTF8-MAC는 Mac OS에서 인식하는 의사 문자 집합입니다).

따라서 소스의 문자 집합이 무엇인지, 대상 컴퓨터의 운영 체제에서 사용하는 문자 집합이 무엇인지 알아내야 합니다.

빠른 참고 사항: @stefan은 파일이 크고 계산에 시간이 걸린다는 점에 대해 정확할 수도 있지만 이는 문자 집합이 아닌 해시 생성과 관련이 있으므로 중요하지 않습니다.

관련 정보