使用公钥认证连接
SSH 允许连接到安全、加密和经过身份验证的控制器。这允许您在安全设置中执行控制器的远程管理。
可以通过提供访问数据(用户名和密码)来完成身份验证。您还可以通过使用基于密钥的身份验证(公钥身份验证)来选择更强大的方法。用户使用密钥登录控制器。密钥由公钥和私钥组成。这种密钥对比密码更难破解。
日志记录操作检查控制器的公钥是否与开发系统的私钥匹配。在这种情况下,无需使用密码即可授予访问权限。
您创建用于 CODESYS 基于Windows的开发系统。您可以选择指定密码,以便进一步提高公钥认证的安全性。您可以将公钥复制到一个甚至多个控制器,这可能是可取的,例如,在由多个控制器组成的机器上。私钥始终保留在开发系统中,在任何情况下都不得共享。
重要
永远不要共享私钥。
创建 SSH 密钥
首先在 Windows 中创建一个由私钥和公钥组成的 SSH 密钥。
安装开源“PuTTY”工具。
不同的应用程序位于
C:\Program Files (x86)\PuTTY
.打开“PuTTYgen”工具。
将打开以下对话框。
选择 RSA 选项并单击 产生 按钮。
开始创建密钥。
同时,在进度条下方的空闲空间中移动鼠标,直到创建密钥。
将打开以下对话框:
如果需要,您可以在 密钥密码 和 确认密码.
如果您已分配密码,则密钥也受到保护。每次使用密钥登录控制器时都需要密码 CODESYS.将密码短语保密,以便只有授权人员知道。
点击 保存私钥 按钮并指定文件名(例如:
serviceuser.ppk
)。点击 保存.
私有 PPK 密钥已创建。
点击 转换 → 导出 OpenSSH 密钥 命令。
指定文件名(例如:
serviceuser.openssh
)。创建私有 OPENSSH 密钥。
在里面 用于粘贴到 OpenSSH 授权密钥文件中的公钥 文本字段,现在选择整个字符串。
在 上下文菜单,点击 复制 字符串复制到剪贴板并将其粘贴到文本文件中。命名文本文件(示例:
serviceuser.pub
)。私人 PUB 密钥已创建。
将密钥移动到开发计算机上合适的,甚至可能是隐藏的位置。或者将文件保存在与开发系统一起使用的 U 盘上。
例如,私钥和公钥现在位于
D:\PLCs\BeagleBone\Keys
目录。注意
确保私钥始终保留在开发系统上。绝对不能共享私钥。
将公钥复制到控制器
复制公钥(例如: serviceuser.pub
) 到控制器。注意供应商信息。
将私钥链接到 CODESYS
打开 CODESYS 然后单击 工具 → 部署控制 SL 命令。
在 沟通 选项卡,展开 基于密钥的登录 部分。
点击 添加密钥文件 按钮。
文件选择对话框打开。
选择所需的私钥(OPENSSH 文件)。
例子:
serviceuser.openssh
点击 行 确认对话框。
对话框关闭。现在 CODESYS 有私钥。
提示
您还可以在选项中链接私钥,在 运行时部署工具 类别。
使用 SSH 密钥的基于密钥的登录
使用 SSH 密钥登录控制器。
点击 工具 → 部署控制 SL 命令。
这 运行时部署工具 打开。
选择 基于密钥的SSH登录 选项。
一个列表框提供了所有已知的键 CODESYS.
选择所需的键
serviceuser.openssh
.在相应的输入字段中指定用户名和密码(如有必要)。
点击 扫描 按钮。
扫描网络以查找匹配的控制器。显示搜索结果。
从控制器列表中选择所需的一个。
例如,单击 系统信息.
控制器上的 SSH 服务器检查私钥是否与公钥匹配。在这种情况下,您已通过身份验证并登录。之后,执行命令并显示控制器的系统信息 CODESYS.