홈서버 구축 일대기..

SSH 공개키/개인키 방식으로 안전하게 서버에 접속하는 방법: 맥 환경 기준

_Blue_Sky_ 2024. 12. 2. 23:49
728x90
728x90

 

SSH(Secure Shell)는 네트워크를 통해 컴퓨터에 안전하게 로그인하고 명령을 실행할 수 있도록 해주는 프로토콜입니다. 기존의 비밀번호 기반 인증 방식은 보안에 취약할 수 있지만, SSH의 공개키/개인키 인증 방식은 더욱 안전하고 편리한 접속을 제공합니다. 이 글에서는 맥 환경에서 SSH를 이용하여 공개키/개인키 방식으로 서버에 접속하는 방법을 단계별로 자세히 알아보겠습니다.

SSH 공개키/개인키 인증의 개념

SSH 공개키 인증 방식은 비대칭 암호화를 이용하여 사용자를 인증하는 방법입니다. 공개키와 개인키로 이루어진 키 쌍을 생성하고, 공개키는 서버에 등록하고 개인키는 사용자가 보관합니다. 서버는 클라이언트가 보낸 메시지를 개인키로 암호화하여 복호화할 수 있는지 확인하여 사용자를 인증합니다. 즉, 개인키는 사용자만 가지고 있기 때문에 더욱 안전한 인증 방식이라고 할 수 있습니다.

맥에서 SSH 키 쌍 생성하기

  1. 터미널 열기: 맥에서 터미널 앱을 실행합니다.
  2. SSH 키 쌍 생성: 다음 명령어를 실행하여 SSH 키 쌍을 생성합니다.
    Bash
    ssh-keygen -t rsa -b 4096
    
    코드를 사용할 때는 주의가 필요합니다.
     
    • -t rsa: RSA 알고리즘으로 키 쌍을 생성합니다.
    • -b 4096: 키 길이를 4096비트로 설정합니다.
    • 모든 프롬프트에 엔터를 누르면 기본 설정으로 생성됩니다.
    • 생성된 개인키는 ~/.ssh/id_rsa, 공개키는 ~/.ssh/id_rsa.pub에 저장됩니다.

생성된 공개키를 서버로 전송하기

  1. ssh-copy-id 명령어 사용:
    Bash
    ssh-copy-id -i ~/.ssh/id_rsa.pub 사용자명@서버IP주소
    
    코드를 사용할 때는 주의가 필요합니다.
     
    • -i: 공개키 파일을 지정합니다.
    • 사용자명@서버IP주소: 접속할 서버의 사용자명과 IP 주소를 입력합니다.
    • 이 명령어를 실행하면 공개키가 서버의 ~/.ssh/authorized_keys 파일에 자동으로 추가됩니다.

개인키를 사용하여 서버에 접속하기

  1. SSH 접속:
    Bash
    ssh -i ~/.ssh/id_rsa 사용자명@서버IP주소
    
    코드를 사용할 때는 주의가 필요합니다.
     
    • -i: 개인키 파일을 지정합니다.
    • 비밀번호를 입력하지 않고 서버에 접속할 수 있습니다.

SSH 설정 파일 생성 (선택 사항)

  1. ~/.ssh/config 파일 생성:
    Bash
    vi ~/.ssh/config
    
    코드를 사용할 때는 주의가 필요합니다.
     
  2. 파일 내용 추가:
    Host 별칭
        HostName 서버IP주소
        User 사용자명
        IdentityFile ~/.ssh/id_rsa
    
    • 별칭을 사용하여 서버에 간편하게 접속할 수 있습니다.

주의 사항

  • 개인키 보안: 개인키는 절대 다른 사람에게 공개하거나 네트워크에 노출시키면 안 됩니다.
  • 서버 설정: 서버의 sshd_config 파일에서 PubkeyAuthentication yes로 설정되어 있어야 공개키 인증이 가능합니다.
  • SSH agent: SSH agent를 사용하면 개인키의 비밀번호를 한 번만 입력하고 여러 번 접속할 수 있습니다.

추가 정보

  • ssh-keygen 옵션: 다양한 옵션을 통해 키 쌍 생성 시 더욱 세밀하게 설정할 수 있습니다.
  • SSH config: 더 많은 설정 옵션을 통해 SSH 접속 환경을 커스터마이징할 수 있습니다.
  • SSH tunneling: SSH를 통해 다른 포트로 연결하거나, SOCKS 프록시를 설정할 수 있습니다.

결론

SSH 공개키/개인키 인증 방식은 비밀번호를 기억할 필요 없이 안전하게 서버에 접속할 수 있는 효과적인 방법입니다. 위에 설명된 단계들을 따라 설정하면 맥에서 SSH를 이용하여 더욱 안전하고 편리하게 서버 관리를 할 수 있습니다.

주의:

  • 보안을 위해 개인키는 반드시 안전한 곳에 보관해야 합니다.
  • 서버의 SSH 설정을 정확하게 확인해야 합니다.
  • SSH 접속 시 발생하는 문제는 다양한 원인이 있을 수 있으므로, 구체적인 상황에 맞는 해결 방법을 찾아야 합니다.
728x90
728x90