참고:

SSH 키 생성

소개

SSH(보안 셸) 프로토콜은 한 컴퓨터에서 다른 컴퓨터로 원격 로그인을 보호하는 방법입니다. SSH를 사용하면 암호화를 사용하여 비보안 네트워크를 통해 시스템 관리 및 파일 전송을 지원하여 끝점 간 연결을 보호할 수 있습니다. SSH 키는 클라우드의 Oracle Cloud Infrastructure 컴퓨트 인스턴스에 안전하게 액세스하는 데 중요한 부분입니다.

이미 SSH 키 쌍이 있는 경우 이를 사용하여 환경에 접속할 수 있습니다. Oracle Cloud Shell을 사용하여 생성할 OCI 컴퓨트 인스턴스와 연결하는 것이 좋습니다. Oracle Cloud Shell은 브라우저 기반이며, 랩톱에 있는 어떤 것도 설치 또는 구성할 필요가 없으며, 네트워크 설정과는 독립적으로 작동합니다. 그러나 랩탑을 통해 연결하려면 구성에 따라 옵션을 선택하십시오.

중요: SSH 키가 올바르게 생성되지 않은 경우 환경에 접속할 수 없으며 오류가 발생합니다. 키를 올바르게 작성했는지 확인하십시오.

옵션 1: Oracle Cloud Shell

SSH Keys Cloud Shell 생성 옵션에 대한 개요는 아래 비디오를 참조하십시오.

Cloud Shell 시스템은 OCI 콘솔(홈페이지)을 통해 액세스하는 Bash 셸을 실행하는 소형 가상 머신입니다. Cloud Shell은 사전 인증된 OCI CLI(명령행 인터페이스)와 함께 콘솔 테넌시 홈 페이지 영역 및 최신 툴 및 유틸리티로 설정됩니다. Cloud Shell 시스템을 사용하려면 테넌시 관리자가 필요한 IAM(ID 및 접근 관리) 정책을 부여해야 합니다.

  1. Oracle Cloud 셸을 시작하려면 클라우드 콘솔로 이동하여 페이지 오른쪽 위에 있는 클라우드 셸 아이콘을 누릅니다.

  2. 클라우드 셸이 시작되면 다음 명령을 입력합니다. 기억할 수 있는 키 이름을 선택하십시오. 이 이름은 생성하는 모든 컴퓨트 인스턴스에 연결하는 데 사용할 키 이름입니다. 문장암호 없이 Enter 키를 두 번 누릅니다.

    mkdir .ssh
    cd .ssh
    ssh-keygen -b 2048 -t rsa -f <<sshkeyname>>
    

    : 꺾쇠 괄호 ""가 코드에 나타나지 않아야 합니다.

  3. 방금 생성한 두 파일을 검토합니다.

    ls
    

    출력에 개인 키: <<sshkeyname>>공용 키: <<sshkeyname>>.pub의 두 파일이 있습니다. 개인 키는 안전하게 보호하고 다른 사람과 콘텐츠를 공유하지 마십시오. 공용 키는 다양한 작업에 필요하며, 특정 시스템에 업로드될 뿐 아니라 복사 및 붙여넣기를 통해 클라우드의 보안 통신을 촉진할 수 있습니다.

  4. 공용 키의 컨텐츠를 나열하려면 cat 명령 cat <<sshkeyname>>.pub을 사용합니다.

    : 꺾쇠 괄호 ""가 코드에 나타나지 않아야 합니다.

  5. 이후 실습에서 키를 컴퓨트 인스턴스에 붙여넣을 경우 복사할 때 추가되었을 수 있는 하드 리턴을 제거해야 합니다. .pub 키는 한 줄이어야 합니다.

옵션 2: MacOS

SSH 키 생성 Mac 옵션에 대한 개요는 아래 비디오를 참조하십시오.

  1. MacOS의 터미널 응용 프로그램에 대한 바로 가기가 아직 없으면 Applications > Utilities 메뉴 또는 키보드의 (Shift+Command+U)에서 해당 응용 프로그램을 찾을 수 있습니다.

  2. Terminal을 시작하고 ssh-keygen 명령을 입력합니다. ssh-keygen은 Enter 키를 눌러 홈 디렉토리의 .ssh 폴더 기본값을 그대로 사용합니다. 파일 이름은 id_rsa 또는 키 이름을 지정하도록 선택한 이름입니다. 문장암호 없이 Enter 키를 두 번 누릅니다. 키를 저장한 디렉토리(~/.ssh)를 기억하십시오. 나중에 인스턴스를 생성할 때 참조해야 합니다.

    ssh-keygen
    

  3. 터미널 window에서 다음 명령을 입력하여 공용(public) 및 전용(private) 키가 생성되었는지 확인하고 OCI 대화상자에서 instance를 생성하는 데 사용할 공용(public) 키의 내용을 복사합니다.

    cd .ssh
    ls
    cat id_rsa.pub
    

    출력에서 private key: id_rsapublic key: id_rsa.pub의 두 파일이 있습니다. 개인 키는 안전하게 보호하고 다른 사람과 콘텐츠를 공유하지 마십시오. 공용 키는 다양한 작업에 필요하며, 특정 시스템에 업로드될 뿐 아니라 복사 및 붙여넣기를 통해 클라우드의 보안 통신을 촉진할 수 있습니다.

  4. 인스턴스를 생성할 준비가 되면 SSH 키를 입력하라는 메시지가 표시되면 내용을 복사하여 붙여넣습니다. 복사할 때 추가되었을 수 있는 하드 리턴을 모두 제거해야 합니다.

MacOS Terminal User Guide를 누릅니다.

옵션 3: Windows 10

SSH 키 생성 Windows 옵션에 대한 개요는 아래 비디오를 참조하십시오.

ssh-keygen는 Windows 10 릴리스 전까지 Windows의 고유 유틸리티가 아니기 때문에 Windows용 키를 만드는 것이 바람직할 수 있습니다. 또한 초기 Windows 10 빌드에는 포함되지 않았습니다.

  1. 아이콘/타일을 누르거나 시작 표시줄의 검색 필드에 'powershell'을 입력하여 Windows 10 시스템에서 Powershell 명령 창을 엽니다.

  2. 터미널 창에 ssh-keygen 명령을 입력합니다. 나중에 찾을 수 있도록 파일을 저장할 위치에 특히 주의하십시오. ssh-keygen는 사용자의 기본 디렉토리 아래의 표준 .ssh 디렉토리로 기본 설정됩니다.

    ssh-keygen
    
  3. 모든 프롬프트에서 Enter 키를 눌러 기본 위치, 기본 파일 이름 및 문장암호를 적용합니다.

    : Unix 변형에서는 점(.)을 가진 폴더가 일반적으로 구성 파일에 대해 지정되었고 일반 보기에서 '숨김'으로 지정되었습니다. 그러나 점(.)은 Windows 폴더 앞에 특수 항목을 의미하지 않습니다. 따라서 폴더가 있지만 숨겨지지 않습니다.

  4. 키가 존재하고 올바르게 생성되었는지 확인합니다. Powershell 창에서 다음 명령을 입력합니다.

    cd .ssh
    ls
    cat id_rsa.pub
    

    이제 작동 중인 SSH 키 쌍이 있고 이를 사용하여 클라우드의 인스턴스에 대한 보안 통신을 수행할 수 있습니다. 수행 중인 작업을 이해하지 않는 한 개인 키 id_rsa를 다른 사용자와 공유하지 마십시오. public key id_rsa.pub만 공유하고 복사하면 됩니다.

  5. 또한 실습을 위해 특정 대화 상자에 키 내용을 복사/붙여넣기하도록 선택한 경우 Powershell, Explorer 또는 기타 디렉토리 도구를 통해 Windows에서 파일을 찾아 공용 키 파일을 열어 내용을 복사해야 합니다. 아래 예제에서는 Powershell을 사용하여 내용을 cat합니다. 마우스로 텍스트를 선택할 수 있지만 복사/붙여넣기 명령은 사용할 수 없습니다. 다른 응용 프로그램 대화상자에 붙여 넣을 수 있도록 콘텐츠를 클립보드에 복사하려면 <ctrl-c>을 사용합니다.

    또는 메모장, 워드패드 또는 기타 텍스트 편집기로 파일을 열 수도 있습니다.

    : 키를 사용할 수 없게 만드는 추가 서식 문자를 추가할 수 있으므로 MS Word 또는 기타 서식 있는 텍스트 편집기를 사용하지 마십시오.

옵션 4: 이전 Windows 버전

Git 사용

이전 버전의 Windows에서는 ssh-keygen이 고유 유틸리티가 아니므로 타사 유틸리티를 활용해야 했습니다. 이 섹션에서는 Git for Windows 사용을 보여줍니다. Git for Windows에는 키를 생성하고 클라우드 호스트 시스템과의 SSH 통신을 설정하는 데 사용할 Git Bash라는 Unix(예: 셸)가 포함되어 있습니다. PuTTY을 선호하는 경우 다음 섹션으로 이동합니다.

  1. 설치되어 있지 않은 경우 아래 링크에 액세스하여 애플리케이션을 다운로드합니다. 권한 문제로 인해 랩탑에 아무것도 설치할 수 없는 경우 위의 Oracle Cloud Shell 옵션을 사용하십시오.

    Windows용 Git을 다운로드하려면 여기를 누르십시오.

  2. 설치에 대한 지침을 따릅니다.

    : Windows용 Git 설치는 이 실습의 범위를 벗어납니다.

  3. 설치된 경우 Git에 대한 Windows 시작 메뉴에 Git Bash 명령을 포함해야 하는 항목이 있어야 합니다. Git Bash 명령을 누릅니다.

  4. 터미널 창에 ssh-keygen을 입력합니다. Enter 키를 눌러 기본 위치(~/.ssh) 및 기본 파일 이름(id_rsa) 및 <Enter>(문장암호 없음)을 두 번 더 적용합니다.

    ssh-keygen
    

    : 여기에 Git Bash는 시뮬레이트된 Unix 홈 디렉토리를 사용한다는 고정 부분입니다. 키를 확인, 검색 또는 복사하려면 Windows 디렉토리 구조로 이동해야 합니다.

  5. 먼저 루트 C: 디렉토리로 'up'을 탐색합니다.

    cd c:
    

    그런 다음 'down'을 일반 홈 디렉토리의 .ssh 폴더로 이동합니다.

    cd Users/<your home folder name>/.ssh/
    

    : 꺾쇠 괄호 <>는 코드에 나타나지 않아야 합니다.

    ls
    

    출력에서 private key: id_rsapublic key: id_rsa.pub의 두 파일이 있습니다. 개인 키는 안전하게 보호하고 다른 사람과 콘텐츠를 공유하지 마십시오. 공용 키는 다양한 작업에 필요하며, 특정 시스템에 업로드될 뿐 아니라 복사 및 붙여넣기를 통해 클라우드의 보안 통신을 촉진할 수 있습니다.

  6. SSH 공용/전용 키 파일이 있는 위치를 기록해 둡니다. 파일을 업로드하거나 Oracle Cloud Services용 다른 랩의 콘텐츠를 복사/붙여넣기하라는 메시지가 나타날 수 있습니다. 키 내용을 정확하게 복사하여 키 문자가 사용된 후 공간을 캡처하면 키가 부적합해질 수 있습니다. 아래 예에서는 gitbash cat 명령을 사용하여 공개 키 파일 내용을 표시할 수 있습니다. 키 파일 콘텐츠를 선택하고 마우스 오른쪽 단추를 눌러 키를 복사할 수 있습니다. 또는 파일을 직접 업로드할 수 있습니다.

    : 이미 Windows용 Git을 설치한 경우 PuTTY를 사용하여 다른 사용자를 설치하지 마십시오. 키 생성 및 터미널 액세스에 사용할 유틸리티입니다.

PuTTY 사용

이전 버전의 Windows에서는 ssh-keygen이 고유 유틸리티가 아니므로 타사 유틸리티를 활용해야 했습니다. 이 섹션에서는 PuTTY 사용을 보여줍니다. Git for Windows를 선호하는 경우 이 옵션 앞에 있는 옵션을 참조하십시오.

  1. 설치되어 있지 않은 경우 아래 링크에 액세스하여 애플리케이션을 다운로드합니다. Oracle 직원의 경우 PuTTYMyDesktop 애플리케이션을 통해 내부적으로 다운로드할 수 있습니다. 비Oracle 직원 및 고객의 경우 아래 링크를 사용하십시오. 권한 문제로 인해 랩탑에 아무것도 설치할 수 없는 경우 위의 Oracle Cloud Shell 옵션을 사용하십시오.

    Windows용 PuTTY을 다운로드하려면 여기를 누르십시오.

  2. 설치에 대한 지침을 따릅니다.

    : PuTTY 설치는 이 실습 문서의 범위를 벗어납니다.

    설치되면 Windows 시작 메뉴에 항목이 있어야 하며 PuTTY에 대한 바탕 화면 바로 가기가 있을 수 있습니다. PuTTY는 실제로 보안 통신 유틸리티 제품군입니다. 두 가지 방법, 즉 터미널 액세스를 위한 PuTTY 유틸리티와 보안 SSH 키를 생성하기 위한 PuTTYgen 유틸리티를 사용합니다.

  3. Windows 시작 메뉴를 열고 PuTTY 폴더로 이동합니다. PuTTYgen 유틸리티를 선택합니다.

  4. 기본값이 선택되고 키 유형이 2048비트로 RSA로 설정되었는지 확인합니다. 생성 단추를 누릅니다.

  5. 지침에 따라 빈 회색 영역 주위로 마우스를 이동하여 임의 정보를 생성합니다. PuTTY는 이 정보를 사용하여 임의 보안 SSH 키를 생성합니다.

  6. 아래 화면에서 PuTTY는 마우스 정보를 가져와서 키를 만들었습니다. 여기서는 다른 키 생성 방법과 약간 다른 작업을 수행해야 합니다. 실제로는 OCI 인스턴스에 대해 파일을 사용할 수는 없지만 나중에 참조할 수 있도록 키를 계속 저장합니다. Save public key 버튼을 누릅니다.

    : PuTTY는 키를 OpenSSH 호환 형식으로 저장하지 않습니다. 따라서 OpenSSH를 사용하여 Linux/Unix 시스템에 PuTTY로 생성된 공개 키 파일을 업로드하는 경우 키를 올바르게 읽지 못합니다. 그러나 PuTTYgen 애플리케이션에서 직접 복사할 경우 키 정보 자체는 지속할 때 해당 정보를 사용하여 적절한 OpenSSH 호환 키를 만들 때 올바르게 작동합니다. 예를 들어, OCI에서 인스턴스를 생성할 때 PuTTY에서 SSH 키를 붙여넣기할 수 있으며 올바르게 작동합니다.

  7. 다른 이름으로 공용 키 저장: 대화상자에서 키 이름을 지정하고 파일 이름에 .pub 확장자를 추가합니다. Windows 사용자 이름/폴더 구조 아래의 공통 .ssh 폴더에 파일을 저장할 경우에도 유용합니다. 이 예에서 키 파일은 C:\Users\<username>\.ssh 디렉토리에 액세스할 수 있습니다. 나중에 참조할 수 있도록 여기에 키를 저장하십시오.

  8. 다음으로 전용 키를 저장해야 합니다. 전용 키 저장 단추를 누르고 로 응답하여 문장암호 없이 저장에 대한 경고를 표시합니다.

  9. 키 이름을 지정하고 이 파일이 개인 키 파일로 식별되도록 확장명을 .ppk으로 저장되었는지 확인합니다. 개인 키를 다른 사용자와 공유하지 마십시오.

  10. 나중에 참조할 수 있도록 키를 저장했으므로 PuTTY 대화상자에서 키 정보를 복사하기만 하면 됩니다.

  11. 대화상자에서 처음부터 끝까지 키 텍스트를 선택한 다음 마우스 오른쪽 버튼을 누르고 복사를 선택합니다. 그런 다음 키를 메모장에 붙여넣거나 OCI 콘솔의 인스턴스 생성 대화상자에 직접 붙여 넣을 수 있습니다.

  12. 다음은 OCI 인스턴스 생성 폼에 있는 SSH 키 추가 - SSH 키 붙여넣기 대화상자의 예입니다.

    Windows 10 이전 버전의 Windows에 대해 SSH 키 쌍을 생성하기 위해 PuTTY 사용과 관련된 섹션이 마무리됩니다.

    아래 지침에 따라 PuTTY 터미널을 사용하여 SSH를 통해 클라우드 인스턴스에 연결합니다.

PuTTY를 사용하여 Instance에 연결

  1. Windows 시작 메뉴에서 PuTTY 유틸리티를 엽니다. 대화상자에서 OCI 컴퓨트 인스턴스의 IP 주소를 입력합니다. OCI Console > Compute > Instances > Instance Details 화면에서 확인할 수 있습니다.

  2. 범주에서 접속을 선택한 다음 데이터 필드를 선택합니다. 지정된 인스턴스의 사용자 이름을 입력합니다. OCI 인스턴스는 기본적으로 사용자 이름 opc로 설정됩니다. opc을 입력합니다.

  3. 범주에서 접속 - SSH로 이동하고 인증 범주를 선택합니다. 찾아보기 단추를 누르고 이전 단계에서 생성한 private key file을 찾습니다. 열기 단추를 눌러 클라우드 인스턴스에 대한 SSH 접속을 시작합니다.

  4. 캐시되지 않은 키에 대한 보안 경보를 무시하려면 를 누릅니다.

  5. 접속을 성공했습니다. 이제 OCI 클라우드 인스턴스에 안전하게 연결됩니다.

    이제 PuTTY 터미널 유틸리티를 사용하여 안전하게 연결할 수 있습니다. 나중에 사용할 수 있도록 연결 정보를 저장하고 사용자 정의 설정으로 PuTTY을 구성할 수 있습니다.

    : PuTTY를 이미 설치한 경우 Git for Windows를 사용하지 마십시오. 키 생성 및 터미널 액세스에 사용할 수 있습니다.

    PuTTY 사용에 대한 자세한 내용

옵션 5: Linux용 SSH 키

  1. 터미널 창을 열고 ssh-keygen 명령을 입력합니다. ssh-keygen 유틸리티에는 몇 가지 명령줄 옵션이 있지만, 랩 사용을 위해 빠르고 더티 키를 만들려면 옵션이 필요하지 않습니다. 터미널 창에 ssh-keygen --help을 입력하면 가능한 모든 옵션이 표시됩니다.이제 명령만 실행하면 됩니다.

    ssh-keygen
    
  2. 이 명령은 홈 디렉토리에서 실행해야 합니다. 이 경우 사용자 ID opc입니다. 대화상자는 기본적으로 숨겨진 디렉토리 ~/.ssh로 설정됩니다. 키가 아직 생성되지 않은 경우 Enter 키를 눌러 기본 파일 이름 id_rsa을 사용합니다. Enter 키를 두 번 더 눌러 문장암호 없이 키를 만듭니다. 운용 환경에서 가장 좋은 방법은 안전한 문장암호를 사용하는 것입니다. 그러나 해당 연습을 통해 다른 작업을 수행할 필요가 없습니다.

    이 대화상자에서는 키 쌍이 /home/username/.ssh 디렉토리에 저장되었으며 이제 사용할 준비가 되었음을 나타냅니다.

  3. .ssh 디렉토리로 변경하고 키를 나열하고 검사합니다.

    cd .ssh
    ls
    

    출력에서 private key: id_rsapublic key: id_rsa.pub의 두 파일이 있습니다. 개인 키는 안전하게 보호하고 다른 사람과 콘텐츠를 공유하지 마십시오. 공용 키는 다양한 작업에 필요하며, 특정 시스템에 업로드될 뿐 아니라 복사 및 붙여넣기를 통해 클라우드의 보안 통신을 촉진할 수 있습니다.

  4. Linux cat 명령을 사용하여 id_rsa.pub의 내용을 나열합니다.

    cat id_rsa.pub
    

  5. 일부 실습에서는 통신을 용이하게 하기 위해 공용(public) 키를 Instance로 업로드 또는 복사(rcp)하라는 요청을 받습니다. 따라서 파일이 보관되는 위치를 기억하십시오. 다른 실습에서는 보안 연결을 용이하게 하기 위해 키의 '컨텐트'를 다양한 대화상자에 붙여 넣어야 합니다. cat 명령을 사용하여 "ssh-rsa" 단어부터 시작하여 키에서 정보를 복사/붙여넣기하고 모든 내용을 라인의 마지막 문자로 복사합니다. 아래 예에서는 "ssh-rsa ... "에서 복사하고 "... -01" 바로 뒤에 복사합니다. 키 내용을 정확하게 복사하여 키 문자 뒤에 공백을 캡처하면 키가 부적합해질 수 있습니다.

    공용/전용 SSH 키 쌍을 생성하고 SSH 키가 필요한 Oracle OCI 실습에서 사용할 수 있습니다.

    SSH에 대한 자세한 내용을 보려면 여기를 클릭하십시오. SSH 키를 사용하여 Linux 인스턴스에서 연결을 시작하는 짧은 자습서가 제공됩니다.

감사의 글

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 찾아보거나 Oracle Learning YouTube channel에서 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 변경하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.