참고 항목
이 문서에서 참조하는 CentOS는 Linux 배포이며 EOL(수명 종료)에 도달합니다. 사용 및 계획을 적절하게 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조 하세요.
적용 대상: .NET Core 2.1, .NET Core 3.1, .NET 5
이 부분의 목표
이 교육 부분은 Linux 환경이 없는 사용자를 위한 것입니다. 다음 항목을 설명합니다.
Windows Azure를 사용하여 Linux 가상 머신을 만드는 방법입니다.
참고 항목
학습에 사용할 Linux 가상 머신이 이미 있는 경우 이 단계를 건너뛸 수 있습니다.
Windows 기반 컴퓨터에서 Linux 가상 머신에 연결하는 방법입니다.
Linux에서 작업할 때 파일 및 폴더 만들기 및 삭제, 권한 있는 사용자로 명령 실행, 패키지 관리자를 사용하여 애플리케이션 설치와 같은 기본 작업을 관리하는 방법입니다.
이 가이드의 모든 랩이 의도한 대로 작동하는지 확인하려면 랩을 만드는 데 사용된 배포이기 때문에 Ubuntu 18.04 LTS 배포를 사용하는 것이 좋습니다.
이 부분(1.1)에는 다음 단계가 포함되어 있습니다.
Linux에 익숙한 경우 이 부분을 완전히 건너뛰고 1.2부 - Linux 특수 디렉터리, 관리자 권한 사용자 및 패키지 관리자로 직접 이동하는 것이 좋습니다.
Windows Azure에서 Linux 가상 머신 만들기
첫 번째 결정은 사용하려는 Linux 배포입니다. 일반적으로 "배포판"이라고 하는 Linux 운영 체제의 다양한 버전과 배포가 있습니다. 이 Linux 설명서 프로젝트 문서에 따르면 여러 배포 간에 많은 유사점이 있습니다. 이 시리즈에서 사용되는 명령은 설치 패키지 관리자가 다를 수 있지만 모든 Linux 배포판에 대해 거의 동일합니다. 그러나 일반적인 지침은 사용되는 배포판에 관계없이 동일합니다.
참고 항목
Azure의 Linux 가상 머신에서 설명한 대로 Microsoft는 파트너가 제공하고 유지 관리하는 몇 가지 인기 있는 Linux 배포판에 Azure 지원. Azure Marketplace에서는 Red Hat Enterprise, CentOS, SUSE Linux Enterprise, Debian, Ubuntu, CoreOS, RancherOS, FreeBSD 등의 배포판을 찾을 수 있습니다.
Azure에서 Linux 가상 머신을 만드는 지침은 빠른 시작: Azure Portal에서 Linux 가상 머신 만들기에 대해 명확하게 설명합니다.
참고 항목
이 문서에는 가상 머신에 연결하고 Nginx 웹 서버를 설치하는 지침도 있습니다. 이러한 지침을 따르고 Nginx를 설치하는 것이 좋습니다. 그러나 Nginx 설치 및 구성이 다음 부분에서 다루므로 아직 결정할 필요가 없습니다.
지침이 충분히 명확하기 때문에 이 자습서에서는 이러한 단계를 복제하지 않습니다. 그러나 가상 머신을 만드는 방법에 대한 몇 가지 핵심 사항을 강조 표시하는 것이 중요합니다.
인증
가상 머신을 만들 때 다음 종류의 인증 중에서 선택할 수 있습니다.
- 암호를 사용하여 연결
- SSH 공개 키를 사용하여 연결
이 교육의 컨텍스트에서는 암호 인증을 사용할 수 있지만 더 나은 보안을 제공하기 때문에 SSH 공개 키 옵션을 사용하는 것이 좋습니다. 또한 이 가이드에서는 Linux 가상 머신에 연결할 때 기본적으로 이 옵션을 사용합니다.
Azure는 자동으로 SSH 키 쌍을 생성하고 나중에 Linux 가상 머신에 연결할 때 사용할 수 있도록 디스크에 저장할 수 있습니다. 이 작업은 연결 프로세스를 간소화합니다.
관리자 계정을 만들 때 SSH 공개 키를 선택하고 새 키 쌍 옵션을 생성합니다.
사용자 이름 필드의 경우 가상 머신을 만들 때 제공한 이름 중 원하는 이름을 선택할 수 있습니다.
인바운드 포트 규칙
새로 만든 가상 머신에 대한 연결을 사용하도록 설정하려면 인바운드 포트 규칙에 대해 SSH 및 HTTP를 모두 선택합니다. 이는 SSH 프로토콜을 사용하여 가상 머신에 연결하고 Linux에서 실행되는 ASP.NET Core 애플리케이션에 액세스할 때 HTTP 프로토콜을 사용하기 때문입니다.
프라이빗 키 저장
SSK 공개 키 옵션이 선택되었으므로 가상 머신을 만들 때 다음 메시지가 표시됩니다.
새 키 쌍 생성
프라이빗 키 다운로드를 선택하고 리소스를 만든 다음, 프라이빗 키를 로컬 디스크에 저장합니다. 파일의 확장명은 .pem(개인 정보 보호 강화 메일)입니다.
참고 항목
Linux 가상 머신에 연결할 때 프라이빗 키를 사용하여 문을 엽니다. 따라서 다른 사용자와 이 키를 공유해서는 안 됩니다.
IP 주소 확인
가상 머신을 만든 후 리소스 페이지로 이동하여 가상 머신의 공용 IP 주소를 확인하고 기록해 둡니다. 이 IP 주소를 사용하여 가상 머신에 연결합니다.
참고 항목
테스트 중에 컴퓨터를 다시 시작해야 할 수도 있으므로 고정 IP 주소를 사용하는 것이 좋습니다. 동적 공용 IP를 사용하면 다시 시작한 후 다른 IP 주소가 가상 머신에 할당됩니다.
Linux 가상 머신에 연결
이제 Linux 가상 머신이 있고 해당 IP 주소를 알고 있으므로 SSH 공개 키 인증을 사용하여 인증할 프라이빗 키도 있으며 로그인할 수 있습니다. Linux 가상 머신에 연결할 때 발생할 몇 가지 용어에 대해 설명하는 것이 좋습니다.
GUI를 사용하여 Linux 가상 머신에 연결하고 관리할 수 없습니다. 대신 터미널을 사용하여 연결하고 셸을 사용하여 명령을 실행합니다.
UNIX 터미널
"터미널"이라는 용어는 방 전체를 차지하고 펀치 카드 판독기 및 나중에 키보드를 통해 물리적 터미널에서 제어된 초기 컴퓨터 모델을 기반으로 합니다. 오늘날 터미널은 물리적 터미널의 소프트웨어 표현입니다. 예를 들어 PuTTY는 터미널입니다.
UNIX 셸
UNIX 셸은 사용자와 UNIX 같은 운영 체제 간의 인터페이스입니다. 사용자가 시스템에 로그온하는 즉시 사용자가 셸에 있습니다. 셸은 명령과 스크립트를 읽고 실행하여 시스템을 제어한 다음 결과 출력을 표시하는 CLI(명령줄 인터프리터)를 제공합니다.
셸을 "명령줄" 또는 "터미널"이라고도 하며 이러한 용어는 서로 교환할 수 있습니다. 셸은 스크립트를 작성하는 데 사용할 수 있는 몇 가지 명령과 프로그래밍 언어를 제공합니다. 여러 가지 셸 구현이 있습니다. 인기 있는 Bash를 포함합니다.
이 문서에서는 다음 연결 옵션을 설명합니다.
- PowerShell SSH 터미널 사용
- PuTTy SSH 터미널 사용
PowerShell SSH 터미널을 사용하여 연결
Windows 10 버전 1809 이상에서 실행하는 경우 기본 제공 PowerShell SSH 클라이언트를 사용할 수 있습니다. 가상 머신에 연결하려면 PowerShell을 열고 다음 형식으로 SSH 명령을 실행합니다.
ssh -i <path to .pem private key file> <user>@<host>
예시:
ssh -i d:\Learn\Linux\myPrivateKey.pem <UserName>@127.0.0.1
이전에 이 서버에 연결한 적이 없는 경우 다음과 같은 경고 메시지가 표시됩니다.
호스트 '<HostName>'의 신뢰성을 설정할 수 없습니다.
예를 입력하면 다음과 같은 추가 경고가 표시됩니다.
기본적으로 SSH 클라이언트는 프라이빗 키를 "더 프라이빗"으로 지정하려고 합니다. 즉, .pem 파일에 포함된 프라이빗 키는 연결하는 컴퓨터의 다른 사용자가 액세스할 수 있습니다. Linux 가상 머신에 대한 연결을 초기화할 사용자만 프라이빗 키에 액세스할 수 있어야 합니다.
이 문제를 해결하려면 해당 프라이빗 키 파일에 대한 권한을 변경합니다. 이렇게 하려면 다음 단계를 수행하세요.
프라이빗 키 파일을 찾아 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 보안 탭을 선택합니다. 이 예제에서는 폴더에서 상속된 다음 사용 권한이 표시됩니다.
이 예제에서는 SYSTEM 그룹과 계정만 이 파일에 액세스할 수 있도록 합니다. 사용 권한은 폴더에서 상속되므로 사용 권한을 편집하려면 먼저 해당 상속을 사용하지 않도록 설정해야 합니다. 고급을 선택한 다음 상속 사용 안 함을 선택합니다. 다음 질문으로 메시지가 표시됩니다.
현재 상속된 사용 권한으로 무엇을 하고 싶나요?
상속된 사용 권한을 이 개체에 대한 명시적 권한으로 변환을 선택합니다.
SYSTEM을 제외한 모든 그룹을 제거한 다음 사용자 고유의 계정을 추가합니다. 다음은 프라이빗 키에 대해 부여된 최종 권한입니다.
동일한 SSH 명령을 사용하여 다시 연결해 보세요. 이번에는 오류 없이 연결을 설정해야 합니다.
PuTTY를 사용하여 연결
PuTTY는 Linux 가상 머신에 연결하는 데 가장 인기 있는 터미널 중 하나입니다. 클라이언트 컴퓨터에 Windows용 PuTTY를 자유롭게 다운로드하여 설치할 수 있습니다.
PuTTY는 사용하기 쉽습니다. 그러나 PuTTY는 프라이빗 키에 대한 PEM 형식을 허용하지 않습니다. 따라서 키를 PuTTY가 예상하는 형식(PPK)으로 변환해야 합니다. 다행히 PuTTY 키 생성기(PuTTYgen)가 터미널 소프트웨어와 함께 설치되므로 PEM 형식을 쉽게 변환할 수 있습니다.
파일을 변환하려면 다음 단계를 수행합니다.
PuTTYgen을 시작하고 RSA가 생성할 키 유형으로 선택되어 있는지 확인합니다.
로드를 선택하여 .pem 확장이 있는 프라이빗 키 파일을 선택합니다.
PuTTYgen의 기본 선택은 PPK이므로 모든 파일이 선택되어 있는지 확인합니다.
원하는 PEM 파일을 찾아 엽니다. PuTTYgen이 키를 가져올 수 있음을 나타내는 다음 메시지가 표시됩니다. 이제 프라이빗 키를 PPK 형식으로 저장할 수 있습니다.
확인을 선택한 다음, 프라이빗 키 저장을 선택합니다.
PuTTYgen은 암호를 사용하지 않고 키를 저장할지 확인하라는 메시지를 표시합니다. 예를 선택하고 프라이빗 키를 PPK 형식으로 저장합니다.
이제 PPK 파일을 사용하여 가상 머신에 연결할 준비가 되었습니다.
PuTTY를 시작합니다. 동일한 <username>@<host | 사용 연결 정보에 대한 IP 주소> 형식입니다. 이 세션 정보를 저장하여 나중에 다시 사용할 수 있습니다. 다음 스크린샷은 현재 세션이 저장된 후 PuTTY 구성 대화 상자를 보여줍니다. 대화 상자에 username>@<host | 호스트 <정보가 표시됩니다. 사용 가능한 목록에서 선택한 후 IP 주소> 형식 및 세션 이름입니다.
SSH 공개 키 인증을 사용하므로 프라이빗 키를 찾을 위치를 PuTTY에 알려야 합니다. 이렇게 하려면 SSH를 확장하고 범주 창에서 인증을 선택한 다음 찾아보기를 선택합니다.
PuTTYgen을 사용하여 만든 PPK 파일을 찾아 선택합니다.
열기를 선택하여 세션을 시작합니다.
참고 항목
가상 머신에 처음 연결하면 다음과 같은 경고 메시지가 표시됩니다.
서버의 호스트 키는 레지스트리에 캐시되지 않습니다. 서버가 사용자가 생각하는 컴퓨터라는 보장은 없습니다.
이 메시지는 PowerShell에서 SSH 클라이언트를 사용하여 가상 머신에 처음 연결할 때 생성된 메시지와 유사합니다.
예를 선택하여 가상 머신에 연결합니다.
참고 항목
PowerShell SSH를 사용하여 이러한 자습서의 나머지 부분에서 가상 머신에 연결합니다.
다음 단계
타사 정보 고지 사항
이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.