Linux VM에 연결

Azure에서 Linux 가상 머신을 호스팅할 때 해당 VM에 액세스하는 가장 일반적인 방법은 SSH(Secure Shell Protocol)를 사용하는 것입니다. Linux 및 Windows에서 일반적으로 발견되는 모든 표준 SSH 클라이언트를 통해 연결할 수 있습니다. 또한 브라우저에서 Azure Cloud Shell을 사용할 수도 있습니다.

이 문서에서는 SSH를 통해 공용 IP가 있는 VM에 연결하는 방법에 대해 설명합니다. 공용 IP가 없는 VM에 연결해야 하는 경우 Azure Bastion 서비스를 참조하세요.

필수 조건

  • SSH 키 쌍이 필요합니다. 아직 하나의 Azure가 없는 경우 Azure에서 배포 프로세스 중에 키 쌍을 만듭니다. 수동으로 만드는 데 도움이 필요한 경우 Azure에서 Linux VM용 SSH 공개-프라이빗 키 쌍 만들기 및 사용을 참조하세요.

  • 기존 NSG(네트워크 보안 그룹)가 필요합니다. 대부분의 VM에는 기본적으로 NSG가 있지만 아직 없는 경우 새로 만들어 수동으로 연결할 수 있습니다. 자세한 내용은 네트워크 보안 그룹 만들기, 변경 또는 삭제를 참조하세요.

  • Linux VM에 연결하려면 적절한 포트가 열려 있어야 합니다. 일반적으로 SSH는 포트 22를 사용합니다. 다음 지침에서는 22 포트를 가정하지만 다른 포트 번호에 대해서도 프로세스가 동일합니다. 문제 해결사를 사용하거나 VM 설정에서 수동으로 확인하여 SSH에 대해 적절한 포트가 열려 있는지 확인할 수 있습니다. 22 포트가 열려 있는지 확인하려면 다음을 수행합니다.

    1. VM에 대한 페이지의 왼쪽 메뉴에서 네트워킹을 선택합니다.

    2. 네트워킹 페이지에서 VM에 연결하는 데 사용하는 컴퓨터의 IP 주소에서 22 포트의 TCP를 허용하는 규칙이 있는지 확인합니다. 규칙이 있는 경우 다음 섹션으로 이동할 수 있습니다.

      Screenshot showing how to check to see if there's already a rule allowing S S H connections.

    3. 규칙이 없는 경우 인바운드 포트 규칙 추가를 선택하여 규칙을 추가합니다.

    4. 서비스의 경우 드롭다운에서 SSH를 선택합니다.

      Screenshot showing where to choose S S H when creating a new N S G rule.

    5. 필요한 경우 우선 순위원본 편집

    6. 이름에 대해 SSH를 입력합니다.

    7. 완료되면 추가를 선택합니다.

    8. 이제 SSH 규칙이 인바운드 포트 규칙 테이블에 있습니다.

  • VM에는 공용 IP 주소가 있어야 합니다. VM에 공용 IP 주소가 있는지 확인하려면 왼쪽 메뉴에서 개요를 선택하고, 네트워킹 섹션을 확인합니다. 공용 IP 주소 옆에 IP 주소가 표시되면 VM에 공용 IP가 있는 것입니다.

    VM에 공용 IP 주소가 없으면 다음과 같이 표시됩니다.

    Screenshot of how the networking section looks when you don't have a public I P.

    기존 VM에 공용 IP 주소를 추가하는 방법에 대한 자세한 내용은 공용 IP 주소를 가상 머신에 연결을 참조하세요.

  • VM이 실행 중인지 확인합니다. 개요 탭의 필수 섹션에서 VM의 상태가 실행 중인지 확인합니다. VM을 시작하려면 페이지 위쪽에서 시작을 선택합니다.

    Screenshot showing how to check to make sure your virtual machine is in the running state.

연결하는 데 문제가 있는 경우 포털을 사용할 수도 있습니다.

  1. Azure Portal로 이동하여 VM에 연결합니다. 가상 머신을 검색하여 선택합니다.
  2. 목록에서 가상 머신을 선택합니다.
  3. 왼쪽 메뉴에서 연결을 선택합니다.
  4. 원하는 연결 방법에 맞는 옵션을 선택합니다. 포털은 연결을 위한 필수 구성 요소를 진행하는 데 도움이 됩니다.

VM에 연결

위의 필수 구성 요소가 충족되면 VM에 연결할 준비가 된 것입니다. 선택한 SSH 클라이언트를 엽니다. SSH 클라이언트 명령은 일반적으로 Linux, macOS 및 Windows에 포함됩니다. Win32 OpenSSH가 기본적으로 포함되지 않은 Windows 7 이상을 사용하는 경우 WSL을 설치하거나 브라우저에서 Azure Cloud Shell을 사용하는 것이 좋습니다.

참고 항목

다음 예제에서는 SSH 키가 key.pem 형식이라고 가정합니다. CLI 또는 Azure PowerShell을 사용하여 키를 다운로드한 경우 id_rsa 형식일 수 있습니다.

새 키 쌍을 사용하는 SSH

  1. 공개 키와 프라이빗 키가 올바른 디렉터리에 있는지 확인합니다. 디렉터리는 일반적으로 ~/.ssh입니다.

    키를 수동으로 생성하거나 CLI를 사용하여 생성한 경우 키가 이미 있을 수 있습니다. 그러나 Azure Portal에서 pem 형식으로 다운로드한 경우 올바른 위치로 이동해야 할 수 있습니다. 키 이동은 다음 구문을 사용하여 수행됩니다. mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    예를 들어 키가 Downloads 폴더에 있고 myKey.pem이 SSH 키 이름인 경우 다음을 입력합니다.

    mv /Downloads/myKey.pem ~/.ssh
    

    참고 항목

    WSL을 사용하는 경우 로컬 파일은 mnt/c/ 디렉터리에 있습니다. 따라서 다운로드 폴더 및 SSH 키의 경로는 /mnt/c/Users/{USERNAME}/Downloads/myKey.pem입니다.

  2. 다음을 실행하여 프라이빗 키에 대한 읽기 전용 액세스 권한이 있는지 확인합니다.

    chmod 400 ~/.ssh/myKey.pem
    
  3. ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP 구문을 사용하여 SSH 명령을 실행합니다.

    예를 들어 azureuser가 만든 사용자 이름이고 20.51.230.13이 VM의 공용 IP 주소인 경우 다음을 입력합니다.

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. 반환된 지문의 유효성을 검사합니다.

    이 VM에 연결한 적이 없는 경우 호스트 지문을 확인하라는 메시지가 표시됩니다. 제공된 지문을 허용하려고 하지만 이는 중간 공격에서 잠재적인 사용자에게 노출됩니다. 항상 호스트 지문을 확인해야 합니다. 클라이언트에서 처음 연결할 때만 이 작업을 수행하면 됩니다. 포털을 통해 호스트 지문을 가져오려면 실행 명령 기능을 사용하여 명령을 실행합니다.

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. 성공! 이제 VM에 연결됩니다. 연결할 수 없는 경우 SSH 연결 문제 해결을 참조하세요.

기존 공개 키를 사용하는 SSH

  1. SSH 클라이언트에서 다음 명령을 실행합니다. 이 예제에서 20.51.230.13은 VM의 공용 IP 주소이고, azureuser는 VM을 만들 때 만든 사용자 이름입니다.

    ssh azureuser@20.51.230.13
    
  2. 반환된 지문의 유효성을 검사합니다.

    호스트의 지문을 확인하라는 메시지가 표시되기 전에 현재 SSH 클라이언트에서 원하는 VM에 연결한 적이 없는 경우 기본 옵션은 제공된 지문을 수락하는 것이지만 가능한 "중간 공격 중인 사람"에게 노출됩니다. 항상 클라이언트가 처음 연결할 때만 수행해야 하는 호스트의 지문의 유효성을 검사해야 합니다. 포털을 통해 호스트 지문을 가져오려면 [실행 명령] 기능을 사용하여 명령을 실행합니다.

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. 성공! 이제 VM에 연결됩니다. 연결할 수 없는 경우 문제 해결 가이드를 참조하세요.

암호 인증

Warning

이 유형의 인증 방법은 SSH 키 쌍만큼 안전하지 않으며 권장되지 않습니다.

  1. SSH 클라이언트에서 다음 명령을 실행합니다. 이 예제에서 20.51.230.13은 VM의 공용 IP 주소이고, azureuser는 VM을 만들 때 만든 사용자 이름입니다.

    ssh azureuser@20.51.230.13
    

    암호 또는 사용자 이름을 잊어버린 경우 Azure VM에 대한 액세스 다시 설정을 참조하세요.

  2. 반환된 지문의 유효성을 검사합니다.

    호스트의 지문을 확인하라는 메시지가 표시되기 전에 현재 SSH 클라이언트에서 원하는 VM에 연결한 적이 없는 경우 기본 옵션은 제공된 지문을 수락하는 것이지만 가능한 "중간 공격 중인 사람"에게 노출됩니다. 항상 클라이언트가 처음 연결할 때만 수행해야 하는 호스트의 지문의 유효성을 검사해야 합니다. 포털을 통해 호스트 지문을 가져오려면 [실행 명령] 기능을 사용하여 명령을 실행합니다.

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. 성공! 이제 VM에 연결됩니다. 연결할 수 없는 경우 SSH 연결 문제 해결을 참조하세요.

다음 단계

파일을 기존 VM으로 전송하는 방법에 대해 알아보려면 SCP를 사용하여 VM 간에 파일 이동을 참조하세요.