[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 がインストールされている機能の一覧に表示されていない場合は、[機能の追加] を選択します。
次に、一覧で、[OpenSSH Client] を選択し、[OpenSSH Server] をクリックします。
ユーザー名とパスワードでログインするには、次のコマンドを使用します。
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 アドレスが表示されます。
ここで、PuTTY を起動し、
Host Name
テキスト ボックスに IP アドレスを入力して、SSH
ラジオ ボタンが選択されていることを確認します。 次に、Open
をクリックします。お使いのコンピューターから初めてデバイスに接続する場合は、次のセキュリティ警告が表示されることがあります。
Yes
をクリックして続行します。接続が成功すると、画面に
login as:
が表示され、ログインを求めるプロンプトが表示されます。
Administrator
を入力し、Enter キーを押します。 次に、パスワードとして既定のパスワードp@ssw0rd
を入力し、Enter キーを押します。正常にログインできた場合は、次のように表示されます。
アカウント パスワードの更新
管理者アカウントの既定のパスワードを更新することを強くお勧めします。
これを行うには、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 ページを参照してください。