웹사이트 검색

Linux 기본 사항: 셸에서 SSH 키를 만들고 설치하는 방법


이 페이지에서

  1. Linux에 SSH 키 설치 - 단계별 가이드
    1. 1단계: RSA 키 쌍 생성
    2. 2단계: 공개 키 복사
    3. 3단계(이 단계는 선택사항임): 루트 로그인을 용이하게 하기 위해 비밀번호 비활성화\n

    SSH 키는 단순히 암호에 의존하지 않고 SSH를 사용하여 서버에 로그인하는 매우 안전한 방식을 제공합니다. 암호는 최종적으로 해독될 위험이 있지만 SSH 키는 무차별 대입을 사용하여 해독하는 것이 다소 불가능합니다. 실제로 키 쌍을 생성하면 사용자에게 공개 키와 개인 키에 해당하는 두 개의 긴 문자열이 제공됩니다. 따라서 사용자는 공개 키를 모든 서버에 배치할 수 있으며 이후에 이미 개인 키를 소유한 클라이언트와 연결하여 동일한 잠금을 해제할 수 있습니다. 두 개의 키가 일치하면 암호에 대한 성가신 의존 없이 시스템이 잠금 해제됩니다. 암호로 개인 키를 보호하여 보안을 더욱 현명하게 방화벽으로 보호할 수 있습니다.

    Linux에 SSH 키 설치 - 단계별 가이드

    다음은 Linux 서버에 SSH 키를 설치하는 프로세스를 자세히 설명하는 단계별 가이드입니다.

    1단계: RSA 키 쌍 생성

    설치 프로세스의 첫 번째 단계는 클라이언트 시스템에 키 쌍을 생성하는 것입니다. 클라이언트 시스템은 종종 자신의 시스템이 됩니다. 사용자는 다음 명령을 사용해야 합니다.

    ssh-keygen -o -b 4096 -t rsa

    위의 명령은 사용자를 위한 SSH 키 설치 프로세스를 시작합니다. -o 옵션은 ssh-keygen에 이전(및 더 호환되는 PEM 형식) 대신 새 OpenSSH 형식으로 비공개 키를 저장하도록 지시합니다. 새 OpenSSH 형식은 무차별 대입 암호 크래킹에 대한 저항이 증가하므로 -o 옵션을 사용하는 것이 좋습니다. -o 옵션이 서버에서 작동하지 않거나(2014년에 도입됨) 이전 PEM 형식의 개인 키가 필요한 경우 ssh-keygen -b 4096 -t rsa.

    ssh-keygen 명령의 -b 옵션은 보안상의 이유로 키 길이를 기본 1024비트 대신 4096비트로 설정하는 데 사용됩니다.

    기본 Gen Key 명령을 입력하면 사용자는 다음 프롬프트에 응답하여 다음 드릴을 수행해야 합니다.

    Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

    사용자 홈에 파일을 저장하려면 ENTER를 눌러야 합니다.

    다음 프롬프트는 다음과 같습니다.

    Enter passphrase

    관리자로서 암호를 할당하려는 경우 메시지가 표시되면(위의 질문에 따라) 그렇게 할 수 있지만 이것은 선택 사항이며 암호를 할당하지 않으려는 경우 필드를 비워 둘 수 있습니다.

    그러나 고유한 암호를 입력하면 다음과 같은 많은 이점을 얻을 수 있습니다.

    1. 고도로 암호화된 경우에도 키의 보안은 주로 다른 당사자에게 보이지 않는 것에 달려 있습니다. I 2. 암호 보안 개인 키가 승인되지 않은 사용자의 소유가 되는 경우 암호를 해독할 수 있을 때까지 동맹 계정에 로그인할 수 없게 됩니다. 이는 항상 피해자(해킹된 사용자)에게 해킹 입찰을 피할 수 있는 귀중한 추가 시간을 제공합니다 지루하지만 절대적으로 안전합니다.

    다음은 종단 간 키 생성 프로세스에 대한 대략적인 개요입니다.

    이제 공개 키를 ~/.ssh/id_rsa.pub 링크로 추적할 수 있습니다.

    개인 키(식별)는 이제 link-/home/demo/.ssh/id_rsa 3에서 추적할 수 있습니다.

    2단계: 공개 키 복사

    개별 키 쌍이 생성되면 다음 단계는 사용하려는 가상 서버에 공개 키를 배치하는 것입니다. 사용자는 ssh-copy-id 명령을 사용하여 공개 키를 새 시스템의 authorized_keys 파일에 복사할 수 있습니다. 다음은 사용자 이름과 IP 주소를 입력하기 위한 규정된 형식(순전히 예)이며 실제 시스템 값으로 대체되어야 합니다.

    ssh-copy-id 

    대안으로 사용자는 SSH를 사용하여 키를 붙여넣을 수 있습니다(지정된 명령에 따라).

    cat ~/.ssh/id_rsa.pub | ssh  "cat >> ~/.ssh/authorized_keys"

    위의 명령 중 하나를 사용하면 시스템에 다음 메시지가 표시됩니다.

    호스트 192.168.0.100의 진위를 확인할 수 없습니다. RSA 키 지문은 b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12입니다. 계속 연결하시겠습니까(예/아니오)? 예 경고: 알려진 호스트 목록에 192.168.0.100(RSA)이 영구적으로 추가되었습니다. [email \\'를 입력하고 ~/.ssh/authorized_keys에 체크인하여 예상치 못한 추가 키가 추가되지 않았는지 확인하세요.

    위 훈련을 마치면 사용자는 비밀번호 입력 없이 [email 에 로그인할 수 있습니다. 그러나 이전에 키에 암호를 할당한 경우(위의 2단계에 따라) 이 시점에서(그리고 후속 로그인을 할 때마다) 암호를 입력하라는 메시지가 표시됩니다.

    3단계(이 단계는 선택사항임): 루트 로그인을 용이하게 하기 위해 비밀번호 비활성화

    사용자가 자신의 SSH 키를 서버에 복사하고 SSH 키로만 원활한 로그인을 보장한 후에는 루트 로그인을 제한하고 SSH 키를 통해서만 동일한 로그인을 허용할 수 있습니다. 이를 위해 사용자는 다음 명령을 사용하여 SSH 구성 파일에 액세스해야 합니다.

    sudo nano /etc/ssh/sshd_config

    파일에 액세스하면 사용자는 파일 내에서 PermitRootLogin 을 포함하는 줄을 찾고 SSH 키를 사용하여 절대 안전한 연결을 보장하도록 동일한 줄을 수정해야 합니다. 다음 명령은 그렇게 하는 데 도움이 됩니다.

    PermitRootLogin without-password

    프로세스의 마지막 단계는 다음 명령을 사용하여 변경 사항을 구현하는 것입니다.

    reload ssh

    이상으로 Linux 서버에 SSH 키를 설치하는 과정이 완료되었습니다.

    OpenSSH 개인 키를 새 형식으로 변환

    대부분의 이전 OpenSSH 키는 PEM 형식으로 저장됩니다. 이 형식은 많은 이전 응용 프로그램과 호환되지만 암호로 보호된 개인 키의 암호가 무차별 대입 공격으로 공격받을 수 있다는 단점이 있습니다. 이 장에서는 PEM 형식의 개인 키를 새로운 OpenSSH 형식의 개인 키로 변환하는 방법을 설명합니다.

    ssh-keygen -p -o -f /root/.ssh/id_rsa

    경로 /root/.ssh/id_rsa는 이전 비공개 키 파일의 경로입니다.

    결론

    위의 단계는 완전히 안전하고 번거롭지 않은 방식으로 모든 가상 사설 서버에 SSH 키를 설치하는 데 도움이 됩니다.