SSH를 위한 공개 키 인증 설정하기: 단계별 가이드

공개 키 인증은 비밀번호를 사용하지 않고 원격 머신에 안전하게 로그인하는 방법입니다. 각 인증을 위해 비밀번호를 입력하는 대신, 공개 키(원격 머신에 저장됨)와 개인 키(로컬 장치에 저장됨)라는 두 쌍의 암호화 키를 사용합니다. 이 블로그 포스트에서는 Linux 시스템에서 SSH를 위한 공개 키 인증을 설정하는 간단한 과정을 안내합니다.

공개 키 인증을 사용하는 이유는 무엇인가요?

  • 강화된 보안: 추측하거나 가로챌 수 있는 비밀번호와 달리, 공개 키 암호화는 훨씬 더 안전합니다.
  • 편리함: 설정이 완료되면 원격 머신에 로그인하는 속도가 빨라지고 노력이 덜 들어갑니다.

단계별 안내

단계 1: 키 생성하기

우선, 개인-공개 키 쌍을 생성해야 합니다. 터미널을 열고 다음 명령을 실행하세요:

ssh-keygen

이 명령은 키 생성 과정을 안내합니다. 기본적으로 두 개의 파일을 생성합니다:

  • id_rsa: 개인 키 (안전하게 보관하세요!)
  • id_rsa.pub: 공개 키 (이 파일을 공유할 것입니다)

단계 2: 공개 키를 원격 머신에 복사하기

다음 단계는 공개 키를 원격 머신으로 전송하는 것입니다. 로그인할 원격 서버에 접근해야 합니다. id_rsa.pub 파일의 내용을 원격 서버의 ~/.ssh/authorized_keys 파일에 추가해야 합니다. 이를 원격 머신에 로그인한 후 다음 명령으로 효율적으로 수행할 수 있습니다:

echo "your-public-key" >> ~/.ssh/authorized_keys

참고: “your-public-key"를 id_rsa.pub 파일의 실제 내용으로 바꾸는 것을 잊지 마세요.

단계 3: 보안을 위한 권한 설정

개인 키가 안전하게 저장되도록 올바른 권한을 설정해야 합니다. 로컬에서 다음을 실행합니다:

chmod 600 ~/.ssh/id_rsa*

그리고 원격 머신에서는 authorized_keys 파일의 권한을 다음과 같이 설정합니다:

chmod 600 ~/.ssh/authorized_keys

이 명령은 다른 사용자가 키를 읽을 수 없도록 액세스를 제한합니다.

단계 4: 설정 테스트하기

이제 설정을 테스트할 준비가 되었습니다! SSH 명령을 사용하여 원격 머신에 연결하세요:

ssh username@remote.machine

모든 것이 올바르게 구성되었다면, 원격 사용자 비밀번호 대신 개인 키의 암호를 입력하라는 메시지가 표시됩니다.

단계 5: 편리를 위한 SSH-Agent 사용하기

연결할 때마다 키의 암호를 입력하는 것은 번거로울 수 있습니다. 이 과정을 간소화하려면 ssh-agent를 사용할 수 있습니다. ssh-agent는 메모리에 복호화된 키를 보관합니다. 설정하는 방법은 다음과 같습니다:

  1. 다음 명령을 사용하여 ssh-agent를 시작합니다:

    eval $(ssh-agent)
    

    실행 중인지 확인하려면:

    echo $SSH_AUTH_SOCK
    
  2. 개인 키를 에이전트에 추가하려면:

    ssh-add ~/.ssh/id_rsa
    

    암호를 한 번 입력한 후에는 에이전트에서 제거하기 전까지 다시 입력할 필요가 없습니다.

  3. 에이전트에서 키를 지워야 하면, 다음을 실행하세요:

    ssh-add -D
    

결론

SSH를 위한 공개 키 인증 설정은 원격 시스템에 접근할 때 보안과 효율성을 강화하는 강력한 방법입니다. 이러한 단계를 따르면, 시간을 절약하고 전통적인 비밀번호 인증과 관련된 위험을 줄일 수 있는 안전한 비밀번호 없는 환경을 만들 수 있습니다.

이제 원격 머신에 안전하게 그리고 쉽게 로그인할 수 있습니다! 시스템에서 공개 키 인증을 설정할 때 이 가이드를 참조하세요.