gitolite를 사용하여 git 서버를 설정하려고하기 때문에 SSH 인증 방법이 어떻게 작동하는지 이해하려고합니다.공개 키와 개인 키를 사용하는 SSH 통신
내가 아는 한 gitolite는 사용자에게 권한을 부여하고 개인적인 쓰기 및 읽기 권한을 가진 특정 저장소에 액세스 권한을 부여하기 위해 ssh를 사용합니다. 하지만 인증이 어떻게 작동하는지 혼란 스럽습니다.
저는 YouTube에서 몇 가지 동영상을 시청했으며 설명하기 위해 색상으로 유추했습니다. 내가 이해한다면 비밀리에 서로 의사 소통하려는 두 사람에게 비밀과 공개 키가 필요하다.
두 사람이 서로 공개 키를 알고 서로 통신하기 위해 하나의 공개 키를 사용하는 것에 동의합니다. 연결을 설정하기 위해 그들은 동일한 공개 키를 사용하여 개인 키를 암호화하고 그 결과를 서로에게 보냅니다. 그들은 결과를 받으면 메시지에 개인 키를 추가하고 같은 메시지를 가진 마법처럼.
하지만 서버가 클라이언트를 확인하는 방법을 볼 수 없기 때문에이 권한을 이해할 수 없다고 생각합니다. 나는 서버가 그와 연결할 클라이언트로부터 공개 키를 보유해야한다는 것을 알고 있지만, 개인 키를 가지고있다.
클라이언트가 서버에 연결하려고하면 공개 키로 암호화 된 개인 키를 보내고 서버는 클라이언트 공개 키를 사용하여 개인 키를 암호화하고 클라이언트에게 보냅니다.
서버가 사용자가 실제로 그 사람인지 어떻게 확인합니까? 또한 공개 키로 암호화 된 정보의 암호를 해독하기 위해 개인 키를 가진 사람 만 메시지를 해독 할 수 있다는 내용을 읽었습니다. 그렇다면 클라이언트 개인 키가없는 경우 서버가 클라이언트가 보내는 메시지의 암호를 해독 할 수있는 방법은 무엇입니까?
공개 키와 개인 키를 사용하여 인증, 권한 부여 및 정보 교환이 어떻게 작동하는지 설명 할 수 있다면 매우 행복 할 것입니다.