SSH는 인증을 위해 공개 키와 비밀번호를 모두 사용합니다.

SSH는 인증을 위해 공개 키와 비밀번호를 모두 사용합니다.

SSH 인증에 대해 약간 혼란 스럽습니다.

SSH 프로토콜을 사용하여 SFTP에 연결하는 Talend 작업이 있고 구성 요소의 속성 페이지에서 다음을 선택할 수 있습니다. 1. Password인증 2. PublicKey인증

인증을 선택하면 Password입력되는 데이터는 username과 입니다 password. 그런데 인증을 선택하면 PublicKey입력되는 데이터는 username, password, private key path입니다 private key pass-phrase.

하지만 PublicKey서버에서 인증을 설정할 때 비밀번호가 필요하지 않습니다.

SSH는 공개 키를 사용한 인증을 지원합니까?그리고비밀번호는 보안 시행과 함께 존재합니까, 아니면 단지 대체용입니까? 즉, 공개 키가 인증되지 않은 경우 표준 사용자 이름/비밀번호가 사용됩니다(서버에서 sshd허용하는 경우).

답변1

OpenSSH 6.2다양한 인증 방법이 도입되었습니다.

참고로 다음을 참조하세요.sshd_config(5).

답변2

일반적으로 사용하면 PublicKey대체 Password됩니다. PublicKey더 안전하고 안전하기 때문에 먼저 시도해 보고 Password나중에 시도해 보세요.

강한(그리고 나는 충분히 대담하지 않습니다). 허용하는 것이 좋습니다.오직 PublicKey인터넷에서 실행하는 모든 SSH 서버에 대한 인증 기반 확인입니다.

인증을 사용하여 SSH 연결이 설정되면 Password비밀번호가 서버로 전송됩니다. 비밀번호 인증을 사용하면 일반적인 수단을 통해 비밀번호를 무차별 대입할 수 있습니다. 충분한 수의 사용자가 해당 보기 서버를 사용하는 경우(그리고 그 중 한 명이 형편없는 비밀번호를 선택하는 경우) 이런 일이 발생할 수 있습니다.

키 기반 인증은 한 컴퓨터의 사용자를 다른 컴퓨터의 사용자와 연결하므로 더 안전합니다. 키는 일반적으로 각 클라이언트 컴퓨터/사용자 쌍에 대해 생성됩니다. 저는 고객에게 이를 설명할 때 주로 신분증 예시를 사용합니다. ID 카드는 하나뿐이지만 많은 장소에 갈 수 있습니다.

즉, 키를 비밀번호로 암호화할 수 있습니다. 따라서 로컬 컴퓨터에서 생성한 키에는 (기본적으로) 암호를 해독할 수 있는 비밀번호가 있습니다. 이는 로컬 컴퓨터가 사용자에게 비밀번호를 묻고 키를 해독한 후 서버로 보내고 서버가 인증을 시도한다는 의미입니다. (공평하게 말하면 실제로 키를 해독하지는 않지만 공개 키는 비밀번호로 "상쇄"됩니다.)

따라서 를 사용하는 경우 PublicKey연결하려는 사용자/머신 조합에 공개 키를 제공해야 합니다.

을 사용하는 경우 Password연결하려는 서버에 비밀번호(일반 텍스트로 전송)를 제공해야 합니다.

을 사용하는 경우 PublicKey공개 Password키나 비밀번호를 제공해야 합니다.

관련 정보