Skip to main content

使用公钥认证连接

SSH 允许连接到安全、加密和经过身份验证的控制器。这允许您在安全设置中执行控制器的远程管理。

可以通过提供访问数据(用户名和密码)来完成身份验证。您还可以通过使用基于密钥的身份验证(公钥身份验证)来选择更强大的方法。用户使用密钥登录控制器。密钥由公钥和私钥组成。这种密钥对比密码更难破解。

日志记录操作检查控制器的公钥是否与开发系统的私钥匹配。在这种情况下,无需使用密码即可授予访问权限。

您创建用于 CODESYS 基于Windows的开发系统。您可以选择指定密码,以便进一步提高公钥认证的安全性。您可以将公钥复制到一个甚至多个控制器,这可能是可取的,例如,在由多个控制器组成的机器上。私钥始终保留在开发系统中,在任何情况下都不得共享。

重要

永远不要共享私钥。

创建 SSH 密钥

首先在 Windows 中创建一个由私钥和公钥组成的 SSH 密钥。

  1. 安装开源“PuTTY”工具。

    不同的应用程序位于 C:\Program Files (x86)\PuTTY.

  2. 打开“PuTTYgen”工具。

    将打开以下对话框。

    _sl_img_puttygen_generator.png
  3. 选择 RSA 选项并单击 产生 按钮。

    开始创建密钥。

  4. 同时,在进度条下方的空闲空间中移动鼠标,直到创建密钥。

    将打开以下对话框:

    _sl_img_puttygen_generated_key.png
  5. 如果需要,您可以在 密钥密码确认密码.

    _sl_img_puttygen_passphrase.png

    如果您已分配密码,则密钥也受到保护。每次使用密钥登录控制器时都需要密码 CODESYS.将密码短语保密,以便只有授权人员知道。

  6. 点击 保存私钥 按钮并指定文件名(例如: serviceuser.ppk)。

    _sl_img_puttygen_serviceuser.png
  7. 点击 保存.

    私有 PPK 密钥已创建。

  8. 点击 转换导出 OpenSSH 密钥 命令。

  9. 指定文件名(例如: serviceuser.openssh)。

    创建私有 OPENSSH 密钥。

  10. 在里面 用于粘贴到 OpenSSH 授权密钥文件中的公钥 文本字段,现在选择整个字符串。

    _sl_img_public_key_generated.png
  11. 上下文菜单,点击 复制 字符串复制到剪贴板并将其粘贴到文本文件中。命名文本文件(示例: serviceuser.pub)。

    私人 PUB 密钥已创建。

  12. 将密钥移动到开发计算机上合适的,甚至可能是隐藏的位置。或者将文件保存在与开发系统一起使用的 U 盘上。

    例如,私钥和公钥现在位于 D:\PLCs\BeagleBone\Keys 目录。

    注意

    确保私钥始终保留在开发系统上。绝对不能共享私钥。

将公钥复制到控制器

复制公钥(例如: serviceuser.pub) 到控制器。注意供应商信息。

将私钥链接到 CODESYS

  1. 打开 CODESYS 然后单击 工具部署控制 SL 命令。

  2. 沟通 选项卡,展开 基于密钥的登录 部分。

  3. 点击 添加密钥文件 按钮。

    文件选择对话框打开。

  4. 选择所需的私钥(OPENSSH 文件)。

    例子: serviceuser.openssh

    _sl_img_options_runtime_deploy_toll.png
  5. 点击 确认对话框。

    对话框关闭。现在 CODESYS 有私钥。

提示

您还可以在选项中链接私钥,在 运行时部署工具 类别。

使用 SSH 密钥的基于密钥的登录

使用 SSH 密钥登录控制器。

  1. 点击 工具部署控制 SL 命令。

    运行时部署工具 打开。

  2. 选择 基于密钥的SSH登录 选项。

    一个列表框提供了所有已知的键 CODESYS.

  3. 选择所需的键 serviceuser.openssh.

  4. 在相应的输入字段中指定用户名和密码(如有必要)。

  5. 点击 扫描 按钮。

    扫描网络以查找匹配的控制器。显示搜索结果。

  6. 从控制器列表中选择所需的一个。

  7. 例如,单击 系统信息.

    控制器上的 SSH 服务器检查私钥是否与公钥匹配。在这种情况下,您已通过身份验证并登录。之后,执行命令并显示控制器的系统信息 CODESYS.