CentOS: 별도의 공개 키 파일을 가진 사용자

CentOS: 별도의 공개 키 파일을 가진 사용자

먼저, 여기와 다른 사이트에 비슷한 질문이 많다는 것을 알고 있습니다. 나는 그것들을 지쳤을 것이라고 확신하지만, 이 문제를 고쳐야 하기 때문에 틀렸다는 것이 증명되어 기쁘다.

루트 사용자가 공개 키를 통해 SSH를 통해 액세스할 수 있는 CentOS 서버가 있습니다. 제한된 액세스 권한을 가진 별도의 사용자를 만들었습니다(remote_user라고 부르겠습니다). 이 작업의 일환으로 내 컴퓨터의 다른 위치에 홈 디렉터리를 설정했습니다.

Remote_user로서 ~/로 CD를 복사하고 .ssh/ 및 .ssh/authorized_keys를 생성했습니다. Authorized_keys에 공개 키를 추가했습니다(이 동일한 공개 키가 루트의 Authorized_keys에 존재하며 작동합니다). ~/ 및 ~/.ssh에 대한 권한이 700으로 설정되었고 ~/.ssh/authorized_keys에 대한 권한이 600으로 설정되었는지 확인했습니다. 이 모든 파일이 Remote_user의 소유인지 확인했습니다.

restorecon -R -v ~/.ssh/authorized_keysSELinux와 관련하여 저는 이를 허용(임시)으로 설정 하고 remote_user/.ssh 및 remote_user/.ssh/authorized_keys 파일이 해당 루트 파일과 동일한 보안 컨텍스트를 갖는지 확인하려고 ls -Z시도 했습니다 .chcon

/etc/ssh/ssh_config의 내용은 다음과 같습니다.

Host *
    GSSAPIAuthentication yes
    ForwardX11Trusted yes
    SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
    SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
    SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE
    SendEnv XMODIFIERS

하지만 아직 주사위는 없습니다. 퍼티를 사용하여 서버에 연결하고 사용자 이름 루트를 입력하면 내 Paegant 키가 액세스 권한을 부여합니다. 사용자 이름을 remote_user로 입력하면 즉시 비밀번호를 묻는 메시지가 나타납니다. 비밀번호를 사용하면 문제 없이 접속할 수 있습니다. 또한 ssh 서버를 사용하여 동일한 결과로 다른 서버에서 ssh 전달을 시도했습니다.

그렇다면 내가 무엇을 놓치고 있는 걸까요?

답변1

이 모든 것이 그래야 할 것 같습니다...당신이 언급하지 않은 유일한 것은 연결하려는 컴퓨터에 개인 키가 있다는 것입니다. 필요한 곳에 저장되지 않았을 수도 있습니다( ~/.ssh/id_rsa예:). 그렇지 않은 경우 다음을 사용하여 연결해야 합니다.

ssh -i <path to identity file> <username>@<hostname>

또한, 실제로 필요하고 수행 중인 작업을 알 필요가 없으면 ID를 "수동으로" 복사하지 말고 ssh 명령을 사용하는 것이 좋습니다.

ssh-keygen
ssh-copy-id <username>@<hostname>

그게 다야. 그러면 먼저 새 ID 파일이 생성된 다음 호스트에 복사됩니다. 물론 이미 ID 파일이 어딘가에 있는 경우 -i <path to identity file>ssh-copy-id와 함께 플래그를 사용할 수도 있습니다.

편집: 방금 Putty와 연결하고 있다고 언급하신 것을 확인했습니다. 이것은 약간 다릅니다. Putty에는 PuTTY 키 생성기라는 자체 메커니즘이 있습니다.

개인 및 공개 키를 생성하고 저장합니다. 개인 키는 이전 예에서 클라이언트 시스템에 보관된 id_rsa이고 공개 키는 id_rsa.pub이며 서버 시스템의 ~/.ssh/authorized_keys에 복사해야 합니다. .

이 작업을 완료한 후에는 연결/SSH/인증 탭에서 사용 중인 세션에 대한 개인 키를 추가해야 합니다.

관련 정보