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
인증.