내 생각엔 실행 중인 컴퓨터가 ssh server
액세스 권한이 부여된 내 사용자 이름에 대한 매핑을 유지 관리하는 것 같습니다(저는 원격 사용자입니다). ssh public key
그러나 나와 다른 몇몇 사람들은 특정 로컬 사용자를 대신하여 원격 시스템에 로그인할 수도 있습니다. 즉, john.doe
로컬 사용자가 있는 원격 시스템이 있다는 의미입니다. 이는 한 사용자를 대리인 액세스 권한이 있는 john.doe
여러 사용자로 매핑한다는 의미입니까 ?ssh public keys
john.doe
답변1
가장 간단한 대답은 '아니요'입니다.
earth
예제 시나리오: 귀하(Bob)는 ( ) 로 원격 호스트에 연결하려고 합니다 alice
.
alice
SSH는 어딘가(Unix, Windows, 태블릿 등)에서 호스트( )의 사용자( ) 로 연결하는 것입니다 earth
.
(암호 없이) 연결할 때 bob
개인 키를 사용합니다(Unix에서는 일반적으로 에 있지만 ~/.ssh
어디에나 넣을 수 있습니다).
원격 호스트에 관한 사실은 두 가지뿐입니다.
alice
당신은 다음으로 연결하고 싶습니다- 귀하는 개인 키를 소유하고 있다고 주장합니다(귀하가 개인 키에서 지문을 제공했습니다).
earth
키의 공개 부분을 소유한 원격 호스트( )는 비공개 부분을 가진 누구나 응답할 수 있는 인증 확인을 발행합니다. 챌린지가 완료되면 연결만 하면 됩니다.
alice
이 경우 귀하는 승인된 키 중 하나의 비공개 부분을 소유하고 있음을 증명합니다. 그러나 원격 호스트( earth
)는 귀하가 Bob, Igor 또는 다른 사람인지 알 수 있는 방법이 없습니다.
사용자 시나리오가 완전히 다른 Windows 또는 Android 장치에서 연결할 수 있다는 점을 명심하세요.
authorized_keys
이 파일에는 연결될 수 있는 공개 키가 나열되어 있습니다(챌린지 후).
파일은 다음 위치에 있습니다.
${HOME}/.ssh/authorized_keys
(기본)AuthorizedKeysFile
파일에 지정된 모든 위치sshd_config
. 바라보다man sshd_config
.
답변2
귀하의 질문을 완전히 이해하지는 못하지만 johndoe
SSH 키가 사용자에게 매핑되는 방식(그리고 비밀번호 없이 원격 서버에 로그인할 수 있는 권한을 부여하는 방식)은 공개 키 부분이 파일에 포함되어 있다는 것입니다.
~johndoe/.ssh/authorized_keys
원격 서버에서.
이제 디렉토리에 개인 키 부분 ~/.ssh/
(예: file )이 있는 경우 ~/.ssh/id_rsa
다음 명령을 사용하여 원격 서버에 비밀번호 없이 로그인할 수 있습니다.
ssh johndoe@remoteserver
로컬 컴퓨터의 사용자 이름에 관계없이.
답변3
예, Authorized_keys 파일을 사용하여 개인 키를 한 명 이상의 사용자에게 연결할 수 있습니다.
Linux 서버가 키 쌍을 인식하고 수락하려면 공개 키를 서버에 업로드해야 합니다. 더 구체적으로 말하면, 로그인하려는 사용자의 홈 디렉터리에 공개 키를 업로드해야 합니다. 키 쌍을 사용하여 서버의 여러 사용자에 로그인하려면 각 사용자에게 공개 키를 추가해야 합니다.
서버 사용자 중 한 명에 대해 SSH 키 인증을 설정하려면 해당 사용자의 Authorized_keys 파일 내의 새 줄에 공개 키를 추가하세요. 파일은 사용자의 홈 폴더 아래 .ssh/라는 디렉터리에 저장됩니다. 사용자의authorized_keys 파일은 여러 공개 키를 저장할 수 있으며 각 공개 키는 자체 줄에 나열됩니다. 파일에 여러 공개 키가 포함되어 있는 경우 나열된 각 키의 소유자는 해당 사용자로 로그인할 수 있습니다.
원천:https://www.linode.com/docs/security/authentication/use-public-key-authentication-with-ssh/