scp를 사용하여 파일을 전송할 때 "권한이 거부되었습니다. 다시 시도하십시오"

scp를 사용하여 파일을 전송할 때 "권한이 거부되었습니다. 다시 시도하십시오"

두 개의 서버(A와 B)와 로컬 컴퓨터가 있습니다. A서버에서 B서버로 파일을 전송하려고 합니다.

서버 A에서:

scp ./backup.tar [email protected]:/home/public/
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey, password).
lost connection

서버 B에서:

scp [email protected]:/home/public/backup.tar .
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey, password).
lost connection

로컬 컴퓨터에서 시도하면 동일한 오류 메시지가 나타납니다. 어떻게 되어가나요?


디버그 플래그를 사용하여 서버 A에서 서버 B로 SSH를 시도할 때 나타나는 결과는 다음과 같습니다.

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/private/.ssh/identity
debug1: Trying private key: /home/private/.ssh/id_rsa
debug1: Trying private key: /home/private/.ssh/id_dsa
debug1: Next authentication method: password
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug1: Authentications that can continue: publickey,password
debug1: No more authentication methods to try.
Permission denied (publickey,password).

내 터미널을 찾을 수 없다는 뜻인가요? 서버 B는 서버 A의 하위 도메인이라는 점을 언급해야 합니다. 그러나 내 호스팅 공급자는 이들을 완전히 다른 엔터티로 취급하며 동일한 LPAR에서 호스팅되지 않습니다.


결론적으로 호스팅 제공업체에 이메일을 보냈는데 ssh 및 OS(freeBSD) 버전과 관련된 작은 버그가 있는 것 같습니다. 현재 해결 방법은 (1) 내 컴퓨터에 로컬로 파일을 scp한 다음 (2) 두 번째 서버에 로컬로 파일을 scp하는 것입니다. 이렇게 scp -3해야 하는데 역시 실패합니다.

답변1

ssh서버 구성에 문제가 있는 것 같습니다. SSH를 사용할 수 없습니다.~에서다음 중 하나입니다(아마도 보안상의 이유로).

당신은 시도 할 수 있습니다스티븐의 조언로컬 컴퓨터에서 전송합니다( ). 이렇게 하면 터미널에서 입력을 받을 때 발생하는 문제(의도적으로 서버에 생성했을 수 있음)를 배제해야 합니다.scp [email protected]:/home/public/backup.tar [email protected]:/home/public/

이것이 도움이 되지 않는다면, 공급자가 나가는 SSH 연결을 허용하지 않을 수도 있다는 의미입니다. 이 경우 두 가지 옵션이 있습니다.

  • 공급자에게 나가는 SSH 연결을 활성화하도록 요청

또는

답변2

내가 이해한 바로는 다음 인증이 정상적으로 작동하는 것 같습니다 localhostserver.alocalhostserver.b. 그래서 ssh server.a작동합니다 ssh server.b. 작동합니다. → 서버의 "비밀번호 읽기" 프로세스에 이상한 문제로 인해 연결이 server.x실패했습니다 .server.y

가장 간단한 해결책은 한 서버에서 다른 서버로 자동으로 연결되도록 SSH 키를 구성하는 것입니다.

server.a$ ssh-keygen   #use default answers and empty passphrase
server.a$ ssh-copy-id server.b

server.aserver.b키 인증으로 연결이 가능해집니다 . server.b다른 방향에서도 동일하게 수행하십시오.

scp이후에는 "비밀번호 읽기" 문제를 피하면서 자동 인증을 사용하기를 바랍니다 .

관련 정보