[Secure Shell (SSH)]

Secure Shell (SSH) を使用すると、Windows IoT Core デバイスの管理と構成をリモートで行うことができます

Windows 10 OpenSSH Client の使用

重要

Windows OpenSSH Client では、SSH クライアント ホスト OS が Windows 10 バージョン 1803 (17134) である必要があります。 また、Windows 10 IoT Core デバイスでは、RS5 Windows Insider Preview release 17723 以上が実行されている必要があります。

OpenSSH Client は、オプション機能として Windows 10 の 1803 (ビルド 17134) に追加されました。 クライアントをインストールするには、Windows 10 の設定で [オプション機能の管理] を検索します。 OpenSSH Client がインストールされている機能の一覧に表示されていない場合は、[機能の追加] を選択します。

Add a feature

次に、一覧で、[OpenSSH Client] を選択し、[OpenSSH Server] をクリックします。

OpenSSH Client Install

ユーザー名とパスワードでログインするには、次のコマンドを使用します。

ssh administrator@host

ここで、ホストは Windows IoT Core デバイスの IP アドレスか、デバイス名になります。

初めて接続するときには、次のようなメッセージが表示されます。

The authenticity of host 'hostname (192.168.0.12)' can't be established.
ECDSA key fingerprint is SHA256:RahZpBFpecRiPmw8NGSa+7VKs8mgqQi/j2i1Qr9lUNU.
Are you sure you want to continue connecting (yes/no)?

Yes」と入力し、Enter キーを押します。

管理者としてではなく、DefaultAccount としてログインする必要がある場合は、キーを生成し、キーを使用してログインする必要があります。 IoT デバイスに接続する予定のデスクトップから、PowerShell ウィンドウを開き、個人用データ フォルダー (例: cd ~) に変更します。

cd ~
ssh-keygen -t rsa -f id_rsa

キーを ssh-agent に登録します (シングル サインオン エクスペリエンスの場合は省略可能)。 ssh-add は、サインイン済みユーザーとして ACL されているフォルダーから実行する必要があることに注意してください (Builtin\Administrators および NT_AUTHORITY\System ユーザーも問題ありません)。 以下に示すように、既定では、PowerShell の cd ~ で十分です。

cd ~
net start ssh-agent
ssh-add id_rsa

ヒント

ssh-agent サービスが無効になっているというメッセージを受け取った場合は、sc.exe config ssh-agent start=auto を使用して有効にできます。

シングル サインを有効にするには、Windows IoT Core デバイス authorized_keys ファイルに公開キーを追加します。 または、キーが 1 つしかない場合は、公開キー ファイルをリモートの authorized_keys ファイルにコピーします。

net use X: \\host\c$ /user:host\administrator
if not exist x:\data\users\defaultaccount\.ssh md x:\data\users\defaultaccount\.ssh
copy .\id_rsa.pub x:\data\users\defaultaccount\.ssh\authorized_keys

キーが ssh-agent に登録されていない場合、ログインするにはコマンド ラインでキーを指定する必要があります。

ssh -i .\id_rsa DefaultAccount@host

秘密キーが ssh-agent に登録されている場合は、DefaultAccount@host のみを指定する必要があります。

ssh DefaultAccount@host

初めて接続するときには、次のようなメッセージが表示されます。

The authenticity of host 'hostname (192.168.0.12)' can't be established.
ECDSA key fingerprint is SHA256:RahZpBFpecRiPmw8NGSa+7VKs8mgqQi/j2i1Qr9lUNU.
Are you sure you want to continue connecting (yes/no)?

Yes」と入力し、Enter キーを押します。

これで DefaultAccount として接続されます

管理者アカウントでシングル サインオンを使用するには、Windows IoT Core デバイスの c:\data\ProgramData\ssh\administrators_authorized_keys に公開キーを追加します。

net use X: \\host\c$ /user:host\administrator
copy .\id_rsa.pub x:\data\ProgramData\ssh\administrators_authorized_keys
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icaclsx:\data\ProgramData\ssh\administrators_authorized_keys /inheritance:r

また、administrators_authorized_keys の ACL を、同じディレクトリ内の ssh_host_dsa_key の ACL と一致するように設定する必要があります。

icacls x:\data\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /inheritance:r

PowerShell を使用して ACL を設定するには

get-acl x:\data\ProgramData\ssh\ssh_host_dsa_key | set-acl x:\data\ProgramData\ssh\administrators_authorized_keys

注意

Windows 10 IoT Core デバイスに変更を加えた後に REMOTE HOST IDENTIFICATION CHANGED メッセージが表示された場合は、C:\Users<username>.ssh\known_hosts を編集して、変更されたホストを削除します。

関連項目: Win32-OpenSSH

PuTTY の使用

SSH クライアントをダウンロードする

SSH を使用してデバイスに接続するには、最初に PuTTY などの SSH クライアントをダウンロードする必要があります。

デバイスに接続する

  • デバイスに接続するには、まずデバイスの IP アドレスを取得する必要があります。 Windows IoT Core デバイスを起動すると、デバイスに接続された画面に IP アドレスが表示されます。

    DefaultApp on Windows IoT Core

  • ここで、PuTTY を起動し、Host Name テキスト ボックスに IP アドレスを入力して、SSH ラジオ ボタンが選択されていることを確認します。 次に、Open をクリックします。

    PuTTY Configuration

  • お使いのコンピューターから初めてデバイスに接続する場合は、次のセキュリティ警告が表示されることがあります。 Yes をクリックして続行します。

    PuTTY Security Alert

  • 接続が成功すると、画面に login as: が表示され、ログインを求めるプロンプトが表示されます。
    Administrator を入力し、Enter キーを押します。 次に、パスワードとして既定のパスワード p@ssw0rd を入力し、Enter キーを押します。

    PuTTY Login

    正常にログインできた場合は、次のように表示されます。

    PuTTY Console

アカウント パスワードの更新

管理者アカウントの既定のパスワードを更新することを強くお勧めします

これを行うには、PuTTY コンソールで次のコマンドを入力し、[new password] を強力なパスワードに置き換えます。

    net user Administrator [new password]

Windows IoT Core デバイスを構成する

  • Visual Studio 2017 からアプリケーションをデプロイするには、Microsoft Visual Studio リモート デバッガーが Windows IoT Core デバイスで実行されていることを確認する必要があります。 リモート デバッガーは、マシンの起動時に自動的に起動する必要があります。 もう一度確認するには、tlist コマンドを使用して、PowerShell から実行中のプロセスをすべて一覧表示します。 デバイスでは 2 つの msvsmon.exe インスタンスが実行されているはずです。

  • 非アクティブな状態が長時間続くと、Microsoft Visual Studio リモート デバッガーがタイムアウトする可能性があります。 Visual Studio が Windows IoT Core デバイスに接続できない場合、デバイスを再起動してみてください。

  • 必要に応じて、デバイスの名前を変更することもできます。 'コンピューター名' を変更するには、setcomputername ユーティリティを使用します。

        setcomputername <new-name>

変更を有効にするには、デバイスを再起動する必要があります。 次のように shutdown コマンドを使用できます。

        shutdown /r /t 0

一般的に使用されるユーティリティ

SSH で使用できるコマンドとユーティリティのリストについては、Command Line Utils ページを参照してください。