비밀번호 인증이있는 SCP 만 비밀번호를 묻지 않습니다. 서버에서 다른

scp를 사용하여 한 서버에서 다른 서버로 파일을 복사하려고합니다.

두 서버에서 ssh 포트를 222로 구성했습니다. 두 서버에 대한 sshd_config는 정확히 동일합니다 (RootLogin, PasswordAuthentication 사용).

여러 가지 이유로 여기에 설명하기에는 키 인증을 사용할 수 없습니다.

scp를 사용하여 서버 A에서 서버 B로 복사하면 (A에 기록됨) 작동합니다. 그러나 B에서 A로 동일한 작업을 수행 할 때 작동하지 않습니다 (B에 기록됨) : “권한이 거부되었습니다”라는 오류 메시지가 표시되고 scp가 비밀번호를 묻지 않습니다 (비밀번호 인증이 활성화되어 있지만)

내가 사용하는 명령은 다음과 같습니다 (서버 B에 로그온).

scp -P 222 -vvv ~/backup/file user@serverA:/home/user/backup

그리고 출력의 마지막 줄은 다음과 같습니다.

debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: password
debug3: start over, passed a different list password
debug3: preferred publickey,keyboard-interactive
debug1: No more authentication methods to try.
user@serverA: Permission denied (password).

왜 scp가 암호를 묻지 않고 “password”가 활성화되어 있습니까 (두 번째 “debug1″줄에 쓰여진 것처럼)?

감사합니다.



답변

가장 좋은 해결책은 publickey해당 서버에서 인증 을 비활성화 한 사람에게 왜 그런지 물어보고 해결하는 것입니다. publickey인증을 사용하는 것이 암호보다 더 편리하고 안전합니다.

인증이 실패하는 이유는 클라이언트와 서버 모두에서 인증 방법을 사용할 수 없기 때문입니다. 서버에서 사용 가능한 인증 방법은 다음과 같습니다.

debug1: Authentications that can continue: password

클라이언트에서 사용 가능한 인증 방법은 다음과 같습니다.

debug3: preferred publickey,keyboard-interactive

당신은 전달할 수 있습니다 -o PreferredAuthentications=password으로 scp만 사용하는 password인증.