次の方法で共有


パート 1.1 - Azure で Linux 仮想マシンを作成し、それに接続する

Note

この記事で参照されている CentOS は Linux ディストリビューションであり、EOL (End Of Life) に到達します。 適宜、使用と計画を検討してください。 詳細については、「 CentOS End Of Life ガイダンスを参照してください。

適用対象: .NET Core 2.1、.NET Core 3.1、.NET 5

このパートの目標

トレーニングのこの部分は、Linux エクスペリエンスを持たないユーザーを対象としています。 次のトピックについて説明します。

  • Windows Azure を使用して Linux 仮想マシンを作成する方法。

    Note

    トレーニングで使用する Linux 仮想マシンが既にある場合は、この手順をスキップできます。

  • Windows ベースのコンピューターから Linux 仮想マシンに接続する方法。

  • ファイルとフォルダーの作成と削除、特権ユーザーとしてのコマンドの実行、パッケージ マネージャーを使用したアプリケーションのインストールなど、Linux で作業するときの基本的なタスクを管理する方法。

このガイドのすべてのラボが意図したとおりに動作することを確認するには、Ubuntu 18.04 LTS ディストリビューションを使用することをお勧めします。これは、ラボの作成に使用されたディストリビューションであるためです。

このパート (1.1) には、次の手順が含まれています。

Linux に慣れている場合は、この部分を完全にスキップし、 Part 1.2 - Linux の特殊なディレクトリ、昇格されたユーザー、パッケージ マネージャーに直接アクセスできます。

Windows Azure で Linux 仮想マシンを作成する

最初の決定は、使用する Linux のディストリビューションです。 Linux オペレーティング システムにはさまざまな種類とディストリビューションがあり、一般に "ディストリビューション" と呼ばれます。 この Linux ドキュメント プロジェクトの記事によると、異なるディストリビューション間には多くの類似点があります。 このシリーズで使用されるコマンドは、すべての Linux ディストリビューションでほぼ同じですが、インストール パッケージ マネージャーは異なる場合があります。 ただし、一般的な手順は、使用されているディストリビューションに関係なく同じです。

Note

Azure Linux 仮想マシンで説明されているように、Microsoft では、パートナーが提供および保守する一般的な Linux ディストリビューションをいくつかAzure サポートしています。 Red Hat Enterprise、CentOS、SUSE Linux Enterprise、Debian、Ubuntu、CoreOS、RancherOS、FreeBSD などのディストリビューションは、Azure Marketplace にあります。

Azure で Linux 仮想マシンを作成する手順については、「 QuickStart: Azure portal で Linux 仮想マシンを作成する」で明確に説明されています。

Note

この記事では、仮想マシンに接続し、Nginx Web サーバーをインストールする手順についても説明します。 これらの手順に従って Nginx をインストールすることをお選びください。 ただし、Nginx のインストールと構成については次のパートで説明するので、まだ決定する必要はありません。

このチュートリアルでは、手順が十分に明確であるため、これらの手順は重複しません。 ただし、仮想マシンの作成方法に関するいくつかの重要なポイントを強調することが重要です。

認証

仮想マシンを作成するときに、次の種類の認証から選択できます。

  • パスワードを使用して接続する
  • SSH 公開キーを使用して接続する

このトレーニングのコンテキストではパスワード認証を使用できますが、セキュリティが向上するため、 SSH 公開キー オプションを使用することをお勧めします。 また、このガイドでは、Linux 仮想マシンに接続するときに既定でこのオプションを使用します。

Azure によって SSH キー ペアが自動的に生成され、後で Linux 仮想マシンに接続するときに使用できるようにディスクに保存できます。 このアクションにより、接続プロセスが簡略化されます。

SSH 公開キーを選択し管理者アカウントを作成するときに新しいキー ペアを生成するオプションをします。

管理者アカウントのスクリーンショット。

Username フィールドでは、仮想マシンの作成時に指定した名前の中から任意の名前を選択できます。

受信ポートの規則

新しく作成した仮想マシンへの接続を有効にするには、受信ポート規則として SSH と HTTP の両方を選択します。 これは、SSH プロトコルを使用して仮想マシンに接続し、Linux で実行されている ASP.NET Core アプリケーションにアクセスするときに HTTP プロトコルを使用するためです。

受信ポート規則のスクリーンショット。

秘密キーを保存する

SSK 公開キー オプションが選択されているため、仮想マシンの作成時に次のメッセージが表示されます。

新しいキーの組の生成

新しいキー ペアのスクリーンショット。

[秘密キーのダウンロード] を選択してリソースを作成し秘密キーをローカル ディスクに保存します。 ファイルの拡張子は .pem (Privacy-Enhanced Mail) です。

Note

Linux 仮想マシンに接続するときに、秘密キーを使用してドアを開きます。 そのため、このキーを他のユーザーと共有しないでください。

IP アドレスを決定する

仮想マシンが作成されたら、リソース ページに移動し、仮想マシンのパブリック IP アドレスを確認してメモします。 この IP アドレスを使用して、仮想マシンに接続します。

Note

テスト中にコンピューターを再起動する必要があるため、静的 IP アドレスを使用することをお勧めします。 動的パブリック IP を使用すると、再起動後に別の IP アドレスが仮想マシンに割り当てられます。

Linux 仮想マシンに接続する

これで Linux 仮想マシンが作成され、その IP アドレスがわかったら、SSH 公開キー認証を使用して認証する秘密キーも用意され、ログインできます。 Linux 仮想マシンに接続するときに発生するいくつかの用語について説明することをお勧めします。

LINUX 仮想マシンへの接続と管理には GUI を使用しません。 代わりに、ターミナルを使用して接続し、シェルを使用してコマンドを実行します。

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>' の信頼性を確立できません。

警告メッセージのスクリーンショット。

yes を入力すると、さらに次の警告が表示されます。

追加の警告メッセージのスクリーンショット。

基本的に、SSH クライアントは秘密キーを "よりプライベート" にしたいと考えています。 言い換えると、.pem ファイルに含まれている秘密キーには、接続先のコンピューター上の他のユーザーがアクセスできます。 予想されるのは、Linux 仮想マシンへの接続を初期化するユーザーのみが秘密キーにアクセスできるようにすることです。

この問題を解決するには、その秘密キー ファイルのアクセス許可を変更します。 これを行うには、次の手順を実行します。

  1. 秘密キー ファイルを見つけて右クリックし、 Properties を選択し、 Security タブを選択します。この例では、フォルダーから継承された次のアクセス許可が表示されます。

    [セキュリティ] タブのスクリーンショット。

    この例では、 SYSTEM グループとアカウントのみがこのファイルにアクセスできるようにする必要があります。 アクセス許可はフォルダーから継承されるため、アクセス許可を編集するには、その継承を無効にする必要があります。 [Advanced] を選択し、[継承解除を選択します。 次の質問が表示されます。

    現在の継承されたアクセス許可で何をしますか?

    ブロック継承のスクリーンショット。

    [継承されたアクセス許可 このオブジェクトに対する明示的なアクセス許可に変換しますを選択します。

  2. SYSTEM を除くすべてのグループを削除し、独自のアカウントを追加します。 秘密キーに付与される最終的なアクセス許可を次に示します。

    pem プロパティの [セキュリティ] タブのスクリーンショット。

  3. 同じ SSH コマンドを使用して接続を再試行してください。 今回は、エラーなしで接続を確立する必要があります。

    ssh コマンドのスクリーンショット。

PuTTY を使用して接続する

PuTTY は、Linux 仮想マシンに接続するための最も一般的なターミナルの 1 つです。 PuTTY for Windows をクライアント コンピューターに自由にダウンロードしてインストールできます。

PuTTY は使いやすいです。 ただし、PuTTY は秘密キーの PEM 形式を受け入れない点に注意してください。 そのため、キーを PuTTY が期待する形式 (PPK) に変換する必要があります。 幸いなことに、PEM形式の変換も簡単です。PuTTYキージェネレータ(PuTTYgen)はターミナルソフトウェアと一緒にインストールされているためです。

ファイルを変換するには、次の手順に従います。

  1. PuTTYgen を起動し、生成するキーの種類として RSA が選択されていることを確認します。

  2. Load を選択して、拡張子が .pem の秘密キー ファイルを選択します。

    Putty キー ジェネレーターのスクリーンショット。

  3. PuTTYgen の既定の選択は PPK であるため、 すべてのファイル が選択されていることを確認します。

    すべてのファイルのスクリーンショット。

  4. 目的の PEM ファイルを見つけて開きます。 PuTTYgen がキーをインポートできたことを示す次のメッセージが表示されます。 これで、秘密キーを PPK 形式で保存できます。

    Putty キー ジェネレーターの通知のスクリーンショット。

  5. OKを選択し、[秘密キー保存] を選択します:

    秘密キーの保存のスクリーンショット。

    PuTTYgen は、パスフレーズなしでキーを保存することを確認するメッセージを表示します。 yesを選択し、秘密キーを PPK 形式で保存します。

    これで、PPK ファイルを使用して仮想マシンに接続する準備ができました。

  6. PuTTY を起動します。 同じ <username>@<host |接続情報の IP アドレス> 形式。 このセッション情報を保存して、後で再利用できます。 次のスクリーンショットは、現在のセッションが保存された後の PuTTY 構成 ダイアログ ボックスを示しています。 ダイアログ ボックスには、ホスト情報が <username>@<host |使用可能な一覧から選択した後の IP アドレス> 形式とセッション名。

    putty 構成のスクリーンショット。

  7. SSH 公開キー認証を使用しているため、秘密キーを検索する場所を PuTTY に指示する必要があります。 これを行うには、SSH を展開し、Category ウィンドウで Auth を選択し、Browse を選択します。

    選択するための putty 構成のスクリーンショット。

  8. PuTTYgen を使用して作成した PPK ファイルを見つけて選択します。

  9. 開くを選択してセッションを開始します。

    Note

    仮想マシンに初めて接続すると、次の警告メッセージが表示されます。

    サーバーのホスト キーがレジストリにキャッシュされていません。 サーバーがコンピューターであると思われるという保証はありません。

    Putty セキュリティのアラート ウィンドウ。

    このメッセージは、PowerShell で SSH クライアントを使用して仮想マシンに初めて接続するときに生成されたメッセージに似ています。

  10. Yes を選択して仮想マシンに接続します。

    コマンド ラインのスクリーンショット。

Note

以降のチュートリアルでは、PowerShell SSH を使用して仮想マシンに接続します。

次のステップ

パート 1.2 - Linux での基本的な操作

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。