WorkSpaces Personal で Linux WorkSpaces の SSH 接続を有効にする
コマンドラインを使用して Linux WorkSpaces に接続する場合は、SSH 接続を使用します。SSH 接続は、ディレクトリのすべての WorkSpaces、またはディレクトリの各 WorkSpaces に対して有効にすることができます。
SSH 接続を有効にするには、新しいセキュリティグループを作成するか、既存のセキュリティグループを更新して、この目的でインバウンドトラフィックを許可するルールを追加します。セキュリティグループは、関連付けられたインスタンスのファイアウォールとして動作し、インバウンドトラフィックとアウトバウンドトラフィックの両方をインスタンスレベルでコントロールします。セキュリティグループを作成または更新したら、ユーザーは、PuTTY などのターミナルを使用して、デバイスから Linux WorkSpaces に接続することができます。詳細については、「WorkSpaces Personal のセキュリティグループ」を参照してください。
動画のチュートリアルについては、AWS ナレッジセンターの SSH を使用して Linux Amazon WorkSpaces に接続する方法
内容
Linux WorkSpaces に SSH 接続するための前提条件
-
WorkSpace へのインバウンド SSH トラフィックを有効にする — 1 つ以上の Linux WorkSpaces へのインバウンド SSH トラフィックを許可するルールを追加するには、WorkSpaces への SSH 接続を必要とするデバイスのパブリック IP アドレスまたはプライベート IP アドレスがあることを確認してください。たとえば、Virtual Private Cloud (VPC) の外部にあるデバイスのパブリック IP アドレス、または WorkSpace と同じ VPC 内の別の EC2 インスタンスのプライベート IP アドレスを指定できます。
ローカルデバイスから WorkSpace に接続する場合は、インターネットブラウザで「私の IP アドレスは何ですか?」と検索するか、Check IP
サービスを使用できます。 -
WorkSpace に接続する — デバイスから Linux WorkSpace への SSH 接続を開始するには、次の情報が必要です。
-
接続先の Active Directory ドメインの NetBIOS 名。
-
WorkSpace のユーザー名。
-
接続する WorkSpace の IP アドレス (パブリックまたはプライベート)。
プライベート: VPC が企業のネットワークに接続されており、そのネットワークへのアクセス権がある場合は、WorkSpace のプライベート IP アドレスを指定することができます。
パブリック: WorkSpace にパブリック IP アドレスが割り当てられている場合は、次の手順に示されているように、WorkSpaces コンソールを使用して、パブリック IP アドレスを見つけることができます。
-
接続する Linux WorkSpace の IP アドレスとユーザー名を見つけるには
https://console.aws.amazon.com/workspaces/
で WorkSpaces コンソールを開きます。 -
ナビゲーションペインで [WorkSpaces] を選択します。
-
WorkSpaces のリストで、SSH 接続を有効にする WorkSpace を選択します。
-
[実行モード] 列で、WorkSpace ステータスが [Available] になっていることを確認します。
-
WorkSpace 名の左側にある矢印をクリックしてインラインの概要を表示し、次の情報を書き留めます。
-
WorkSpace IP。WorkSpace のプライベート IP アドレスです。
WorkSpace が関連付けられている Elastic Network Interface の取得に必要なプライベート IP アドレス。ネットワークインターフェイスは、WorkSpace に関連付けられているセキュリティグループやパブリック IP アドレスなどの情報を取得するために必要です。
-
WorkSpace の [ユーザー名]。WorkSpace に接続するために指定するユーザー名。
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[ネットワークインターフェイス] を選択します。
-
検索ボックスに、ステップ 5 で書き留めた [WorkSpace IP] を入力します。
-
[WorkSpace IP] に関連付けられているネットワークインターフェイスを選択します。
-
WorkSpace にパブリック IP アドレスが割り当てられている場合は、[IPv4 Public IP] 列に表示されます。このパブリック IP アドレスを書き留めます (該当する場合) 。
接続先の Active Directory ドメインの NetBIOS 名を見つけるには
https://console.aws.amazon.com/directoryservicev2/
で AWS Directory Service コンソールを開きます。 -
ディレクトリのリストで、WorkSpace のディレクトリの [ディレクトリ ID] リンクをクリックします。
-
[ディレクトリの詳細] セクションで、[ディレクトリの NetBIOS 名] を書き留めます。
ディレクトリ内のすべての Linux WorkSpaces への SSH 接続を有効にする
ディレクトリ内のすべての Linux WorkSpaces への SSH 接続を有効にするには、以下の操作を行います。
ディレクトリ内のすべての Linux WorkSpaces へのインバウンド SSH トラフィックを許可するルールを使用してセキュリティグループを作成するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[Security Groups] を選択します。
-
[Create Security Group (セキュリティグループの作成)] を選択します。
-
名前を入力します。また、オプションで説明およびセキュリティグループを入力します。
-
[VPC] で、SSH 接続を有効にする WorkSpaces を含む VPC を選択します。
-
[インバウンド] タブで [ルールの追加] を選択し、以下の操作を行います。
-
[タイプ] で [SSH] を選択します。
-
[プロトコル] で [SSH] を選択すると、自動的に TCP が指定されます。
-
[ポート範囲] で [SSH] を選択すると、自動的に 22 に指定されます。
-
[ソース] で、ユーザーが WorkSpaces への接続に使用するコンピュータのパブリック IP アドレスの CIDR 範囲を指定します。例えば、企業ネットワークやホームネットワークなどです。
-
[説明] (オプション) に、ルールの説明を入力します。
-
-
[Create] (作成) を選択します。
-
このセキュリティグループを WorkSpaces にアタッチします。このセキュリティグループを WorkSpaces に追加する詳しい方法については、「WorkSpaces Personal のセキュリティグループ」を参照してください。WorkSpaces に追加のセキュリティグループを自動的にアタッチする場合は、こちらのブログ記事
を参照してください。
WorkSpaces でのパスワードベースの認証
新しく作成された Linux WorkSpaces でパスワード認証を有効にするには
WorkSpaces クライアントを起動し、WorkSpace にログインします。
ターミナルウィンドウを開きます。
-
ターミナルウィンドウで次のコマンドを実行し、cloud-init で SSH パスワード認証を有効にします。
sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: true" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single --name set-passwords'
このスクリプトは以下の処理を実行します。
cloud-init ディレクトリ
/etc/cloud/cloud.cfg.d/
に設定ファイルを作成します。設定ファイルを変更して、SSH パスワード認証を有効にするよう cloud-init に指定します。
set-passwords
cloud-init モジュールをリセットして、再度実行できるようにします。set-passwords
cloud-init モジュールを単独で実行します。これにより、SSH パスワード認証を有効にするファイルが SSH 設定ディレクトリ/etc/ssh/sshd_config.d/
に書き込まれ、SSHD が再起動されて、設定がすぐに有効になります。
これで、SSH パスワード認証が WorkSpace で有効になり、カスタムイメージによって保持されます。cloud-init を設定せずに SSH 設定ファイルでのみ SSH パスワード認証を有効にすると、一部の Linux WorkSpaces ではイメージングによって設定が保持されません。詳細については、cloud-init ドキュメントの「Set Passwords」を参照してください。
既存の Linux WorkSpaces でパスワード認証を無効にするには
WorkSpaces クライアントを起動し、WorkSpace にログインします。
ターミナルウィンドウを開きます。
-
ターミナルウィンドウで次のコマンドを実行し、cloud-init で SSH パスワード認証を無効にします。
sudo bash -c 'touch /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && echo "ssh_pwauth: false" > /etc/cloud/cloud.cfg.d/15_sshpwauth.cfg && sudo rm /var/lib/cloud/instance/sem/config_set_passwords && sudo cloud-init single —name set-passwords'
このスクリプトは以下の処理を実行します。
cloud-init ディレクトリ
/etc/cloud/cloud.cfg.d/
に設定ファイルを作成します。設定ファイルを変更して、SSH パスワード認証を無効にするよう cloud-init に指定します。
set-passwords
cloud-init モジュールをリセットして、再度実行できるようにします。set-passwords
cloud-init モジュールを単独で実行します。これにより、SSH パスワード認証を有効にするファイルが SSH 設定ディレクトリ/etc/ssh/sshd_config.d/
に書き込まれ、SSHD が再起動されて、設定がすぐに有効になります。
これで、SSH が WorkSpace で直ちに無効になり、カスタムイメージによって保持されます。
特定の Linux WorkSpace への SSH 接続を有効にする
特定の Linux WorkSpace への SSH 接続を有効にするには、以下の操作を行います。
特定の Linux WorkSpace へのインバウンド SSH トラフィックを許可するルールを既存のセキュリティグループに追加するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインの [Network & Security] で、[ネットワークインターフェイス] を選択します。
-
検索バーに、SSH 接続を有効にする WorkSpace のプライベート IP アドレスを入力します。
-
[セキュリティグループ] 列で、セキュリティグループのリンクをクリックします。
-
[インバウンド] タブで、[編集] を選択します。
-
[ルールの追加] を選択し、次の操作を行います。
-
[タイプ] で [SSH] を選択します。
-
[プロトコル] で [SSH] を選択すると、自動的に TCP が指定されます。
-
[ポート範囲] で [SSH] を選択すると、自動的に 22 に指定されます。
-
[Source] で、[マイ IP] または [カスタム] を選択し、単一の IP アドレスまたは IP アドレス範囲を CIDR 表記で指定します。例えば、IPv4 アドレスが
203.0.113.25
である場合、この単一の IPv4 アドレスを CIDR 表記で示すには203.0.113.25/32
と指定します。会社が特定の範囲からアドレスを割り当てている場合、範囲全体 (203.0.113.0/24
など) を指定します。 -
[説明] (オプション) に、ルールの説明を入力します。
-
-
[Save] を選択します。
Linux または PuTTY を使用して Linux WorkSpace に接続する
セキュリティグループを作成または更新し、必要なルールを追加したら、ユーザーは、Linux または PuTTY を使用して、デバイスから WorkSpaces に接続することができます。
注記
以下の手順のいずれかを完了する前に、以下の点について確認してください。
-
接続先の Active Directory ドメインの NetBIOS 名。
-
WorkSpace への接続に使用するユーザー名。
-
接続する WorkSpace の IP アドレス (パブリックまたはプライベート)。
この情報の取得方法に関する手順については、このトピック前半の「Linux WorkSpaces に SSH 接続するための前提条件」を参照してください。
Linux を使用して Linux WorkSpace に接続するには
-
管理者としてコマンドプロンプトを開き、次のコマンドを入力します。[
NetBIOS 名
]、[ユーザー名
]、および [WorkSpace IP
] に、適切な値を入力します。ssh "
NetBIOS_NAME
\
Username
"@
WorkSpaceIP
以下は、SSH コマンドの例です。ここで、
-
NetBIOS_NAME
は anycompany -
Username
は janedoe -
WorkSpace IP
は 203.0.113.25
ssh "anycompany\janedoe"@203.0.113.25
-
-
プロンプトが表示されたら、WorkSpaces クライアントで認証するときに使用するのと同じパスワード (Active Directory のパスワード) を入力します。
PuTTY を使用して Linux WorkSpace に接続するには
-
PuTTY を開きます。
-
[PuTTY 設定] ダイアログボックスで、次の操作を行います。
-
[ホスト名 (または IP アドレス)] には、次のコマンドを入力します。これらの値を、接続先の Active Directory ドメインの NetBIOS 名、WorkSpace への接続に使用するユーザー名、および接続する WorkSpace の IP アドレスに置き換えます。
NetBIOS_NAME
\
Username
@
WorkSpaceIP
-
[Port (ポート)] に「
22
」と入力します。 -
[接続タイプ] で、[SSH] を選択します。
SSH コマンドの例については、前の手順のステップ 1 を参照してください。
-
-
[Open (開く)] を選択します。
-
プロンプトが表示されたら、WorkSpaces クライアントで認証するときに使用するのと同じパスワード (Active Directory のパスワード) を入力します。