使用 SSH 进行连接

你可以使用 OpenSSH 连接到工厂 OS 测试设备和 VM,并运行命令或传输文件。 OpenSSH(安全外壳)是用于安全终端连接的标准协议。

你可以使用 SSH 连接到所有工厂 OS 映像

WDP topology showing you can connect via ssh from a remote pc

使用 SSH 进行连接需要做哪些准备工作

若要使用 SSH 连接到设备,你需要:

  • 在工厂 OS 设备上启动的 SSH 服务器
  • 技术人员电脑上的 SSH 客户端。 Windows 10 包括默认安装的 SSH 客户端。
  • 要连接的设备的 IP 地址。 在工厂 OS 中,从 Factory Composer 应用的主屏幕或 Factory Orchestrator 的右上角获取 IP 地址。
  • 为 SSH 配置的身份验证。 这可以是:
    • 用户名和密码
    • 密钥对

启动 SSH 服务器

在包含 WindowsCoreNonProductionFM 功能清单的映像上,可以添加 WCOS_OPENSSH_AUTOSTART 功能以自动启动 SSH 服务器。

如果映像未配置为自动启动 SSH 服务器,可以使用 Windows 设备门户手动启动 SSH 服务器。

  1. 在技​​术人员电脑上打开浏览器并导航到工厂 OS 设备的 URL。
  2. 连接到设备门户后,导航到左侧窗格中的 SSH 选项卡。 SSH 选项卡位于列表底部。
  3. 选择“启用 SSH”。

使用名称和密码进行连接

为了能够使用用户名和密码进行连接,必须首先配置用户名和密码。 配置 SSH 用户名和密码取决于所使用的工厂 OS 产品。

工厂 OS 中的用户名和密码

工厂 OS 包含一个内置管理员帐户,可用于通过 SSH 进行连接:

  • 用户名:FactoryUser
  • 密码:WindowsCore

你可以使用设置自定义框架中的 SSHUsernameSSHPassword 设置自定义用户名和密码

使用密钥对进行连接

如果有用于 SSH 的密钥对(请参阅 SSH 客户端文档了解详细信息),可以使用它来代替用户名和密码。

你需要一个 OpenSSH 格式的公钥。 在技术人员电脑上运行 ssh-keygen.exe 生成一个。 ssh-keygen 随 Windows 一起提供。

创建密钥对

  1. 在技​​术人员电脑上的命令提示符下,运行 ssh-keygen.exe 以生成公钥和私钥对。 运行此命令时,可以选择将密钥保存到电脑上的某个位置,还可以设置密码:

    ssh-keygen
    

    此命令将提示你输入以下信息,并提供类似于以下内容的输出:

    Enter file in which to save the key (C:\Users\User/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in C:\Users\User/.ssh/id_rsa.
    Your public key has been saved in C:\Users\User/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:<SHA245> user@COMPUTER
    The key's randomart image is:
    +---[RSA 2048]----+
    |     .o oo=+.+OB |
    |     ..o.... =B+o|
    |      .o ++ +oo*o|
    |       ... +.o+..|
    |      . S   oo.+.|
    |       . .   .+.E|
    |        .    ... |
    |                 |
    |                 |
    +----[SHA256]-----+
    
  2. 导航到存储密钥的文件夹,你将看到一个没有扩展名的私钥和一个扩展名为 .pub 的公钥。

  3. 使用文本编辑器打开公钥文件。 公钥不敏感。 设置如下:

    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiez5r6NN01TK5yFPCV34Po4UdsMej4Gbl441SAzGihcE3eV7bSnLRR32RKH8T6ZQ2eZSZ1zPD6xkGnBE0CXvlHLP76nva4AaoCoPAEDIbNKLVmPiKn6U6MDlkass6TFrfOBlsY3m+rZyWJipZEFLrptvqli72lkWttUNfwgu8CJKMBbjGsd4HS3EFwCrSsKqI2MBKk7SO3+DNrwAPUWK9O/hT/mqARMMMbD/zM0BrHZ/U9mc3w/x2y2awpONJF9yVjfXAvG6JTrB+Bh6pr2BYccmVAwPmXkQM+3HrFjS7nfSZnjBQE3YD6PTZfT7Qs6V15CoCvIaoRQs0AEBJLK53Q== rsa-key-20180427
    
  4. 将公钥的内容复制到剪贴板。

  5. 使用设备门户连接到 WCOS 设备。 导航到左侧窗格中的 SSH 选项卡,然后将剪贴板中的公钥复制到标题为“公钥”的框中,供所需用户使用。

连接

配置身份验证后,就可以连接到工厂 OS 设备:

  1. 在技​​术人员电脑上打开命令提示符窗口。

  2. 连接到设备:

    1. 使用用户名和密码进行连接:
    ssh user@192.168.1.2
    

    其中 user 是设置 SSH 时选择的用户名,192.168.1.2 是工厂 OS 设备的 IP 地址。

    1. 使用密钥对进行连接
    ssh -i C:\Users\User/.ssh/id_rsa user@192.168.1.2
    

    其中 C:\Users\User/.ssh/id_rsa 是私钥,user 是设置 SSH 时选择的用户名,192.168.1.2 是工厂 OS 设备的 IP 地址。

  3. 如果使用用户名和密码进行连接,或者将密钥配置为需要密码,请输入用户密码。

安全 FTP

你可以通过 sftp 协议使用 SSH 进行文件传输。 如果在工厂 OS 设备上启用了 SSH,还可以使用 sftp 进行连接。

WinSCP 是最常用的 GUI 客户端,用于在 Windows 中通过 sftp 传输文件。 阅读文档,了解如何使用它。

如果更喜欢命令行工具,可以使用 sftpscp

sftp:

usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
         [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
         [-o ssh_option] [-P port] [-R num_requests] [-S program]
         [-s subsystem | sftp_server] destination

scp:

usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
          [-l limit] [-o ssh_option] [-P port] [-S program] source ... target

上述实用工具包含在 Windows 中,可以通过启动命令提示符运行。