安全殼層 (SSH)
安全殼層 (SSH) 可讓您從遠端系統管理和設定 Windows IoT 核心版裝置
使用 Windows 10 OpenSSH 用戶端
重要
Windows OpenSSH 用戶端要求您的 SSH 用戶端主機作業系統Windows 10版本 1803 (17134) 。 此外,Windows 10 IoT 核心版裝置必須執行 RS5 Windows Insider Preview 17723 版或更新版本。
OpenSSH 用戶端已新增至 1803 (組建 17134) 作為選擇性功能中的Windows 10。 若要安裝用戶端,您可以在Windows 10設定中搜尋[管理選擇性功能]。 如果 OpenSSH 用戶端未列在已安裝的功能清單中,請選擇 [新增功能]。
接下來,選取清單中的 OpenSSH Client ,然後按一下 [ 安裝]。
若要使用使用者名稱和密碼登入,請使用下列命令:
ssh administrator@host
其中主機是 Windows IoT 核心版裝置的 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'd 的資料夾執行,因為已登入的使用者 (Builtin\Administrators,而 NT_AUTHORITY\System 使用者也沒關係) 。 根據預設,來自 PowerShell 的 cd ~ 應該已足夠,如下所示。
cd ~
net start ssh-agent
ssh-add id_rsa
提示
如果您收到 ssh-agent 服務已停用的訊息,您可以使用sc.exe設定 ssh-agent start=auto加以啟用
若要啟用單一登入,請將公開金鑰附加至 Windows IoT 核心版裝置authorized_keys檔案。 或者,如果您只有一個金鑰,請將公開金鑰檔案複製到遠端 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 核心版裝置上的 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 核心版裝置之後看到REMOTE HOST IDENTIFICATION CHANGED訊息,請編輯 C:\Users < username.ssh > \known_hosts,並移除已變更的主機。
另請參閱: Win32-OpenSSH
使用 PuTTY
下載 SSH 用戶端
若要使用 SSH 連線到您的裝置,您必須先下載 SSH 用戶端,例如 PuTTY。
連接到您的裝置
若要連線到您的裝置,您必須先取得裝置的 IP 位址。 開機Windows IoT 核心版裝置之後,裝置的畫面上會顯示 IP 位址:
現在啟動 PuTTY,然後在文字方塊中輸入 IP 位址
Host Name
,並確定SSH
已選取選項按鈕。 然後按一下Open
。如果您是第一次從電腦連線到裝置,您可能會看到下列安全性警示。 只要按一下
Yes
即可繼續。如果連線成功,您應該會在畫面上看到
login as:
,提示您登入。
輸入Administrator
,然後按 Enter。 然後輸入預設密碼作為密碼p@ssw0rd
,然後按 Enter。如果您能夠成功登入,您應該會看到如下的內容:
更新帳戶密碼
強烈建議您更新系統管理員帳戶的預設密碼。
若要這樣做,請在 PuTTY 主控台中輸入下列命令,並將 [new password]
取代為強式密碼:
net user Administrator [new password]
設定您的 Windows IoT 核心版裝置
若要能夠從 Visual Studio 2017 部署應用程式,您必須確定Visual Studio 遠端偵錯工具已在 Windows IoT 核心版裝置上執行。 遠端偵錯程式應該會在機器開機時自動啟動。 若要再次檢查,請使用 tlist 命令,從 PowerShell 列出所有執行中的進程。 在裝置上執行msvsmon.exe應該有兩個實例。
Visual Studio 遠端偵錯工具在長時間閒置後可能會逾時。 如果Visual Studio無法連線到您的 Windows IoT 核心版裝置,請嘗試重新開機裝置。
如有需要,您也可以重新命名裝置。 若要變更 「電腦名稱稱」,請使用
setcomputername
公用程式:
setcomputername <new-name>
您必須重新開機裝置,變更才會生效。 您可以使用 shutdown
命令,如下所示:
shutdown /r /t 0
常用的公用程式
如需可與 SSH 搭配使用的命令和公用程式清單,請參閱 命令列公用 程式頁面。