我的 db2 数据库运行在禁用 ssh 密码登录并且只允许私钥 ssh 的服务器上。我正在尝试将一些数据导入此数据库中的表中(数据也位于服务器上)。ssh 连接失败是因为明显的原因是它没有私钥。如何配置数据工作室,使其使用私钥 ssh?
Data Studio 4.1.3 在 Windows 机器上运行,数据库在 Linux 机器上运行。我可以使用私钥通过 SSH 或 SFTP 到Linux机器,没有问题。
我的 db2 数据库运行在禁用 ssh 密码登录并且只允许私钥 ssh 的服务器上。我正在尝试将一些数据导入此数据库中的表中(数据也位于服务器上)。ssh 连接失败是因为明显的原因是它没有私钥。如何配置数据工作室,使其使用私钥 ssh?
Data Studio 4.1.3 在 Windows 机器上运行,数据库在 Linux 机器上运行。我可以使用私钥通过 SSH 或 SFTP 到Linux机器,没有问题。
存在不同的选择。
如果您有业务需要通过 ssh 连接到 Db2 服务器并且仅支持公私钥身份验证,那么您(或像 Db2 实例所有者这样的帐户)需要拥有相关的密钥文件和密码才能完成工作。
如果您已经拥有相关的密钥文件,那么请点击此链接和所有相关链接页面,了解如何配置 IBM Data Studio 以进行远程操作的详细信息。对于 Data-Studio 4.1.3 版,使用菜单Window > Preferences > General > Network Connections > SSH2
. 在本节中,您可以添加私钥、配置已知主机、生成密钥等,因此如果您的目标 Db2 服务器已经有一个工作的 sshd/sftpd,Data Studio 将正常工作(它仅在您使用 ssh 时才要求输入密码通过一些远程操作进行连接)。如果目标 Db2-server 运行 Microsoft-Windows,您可以选择忽略 ssh 而只忽略 DAS(如果您之前在 Db2-server 上创建了 DAS 并使其正常工作,则不是默认设置),或者配置目标 MS-带有 cygwin 的 Windows 服务器(如上面的链接中所述)提供 sshd/sftpd,尽管这很笨拙且笨拙。此外,如果您已经有私钥和密码,为什么不简单地使用 ssh-client 来 ssh 到目标 Db2-server 来执行所需的任何操作。同样,如果目标 Db2 服务器运行 MS-Windows,则 mstsc 可用(如果已配置/启用)。GUI 对于 Db2 导入操作不是必需的。
如果要导入的文件已经在 Db2 服务器上,那么您可以使用纯 SQL 从 Data Studio 中执行 IMPORT 操作。关键细节是使用SYSPROC.ADMIN_CMD 存储过程来执行导入,并在其参数中指定导入文件的完全限定路径。请参阅您的 Db2 版本的知识中心以查找详细信息和示例,例如此处。您将需要额外的代码来验证导入操作的结果。
尴尬的解决方法:任何对 Db2-server 具有 ssh/scp 访问权限的人也可以将文件从 Db2-server scp/secure-ftp 到您的工作站(或网络上其他可访问的共享位置),从而允许您执行从您的工作站导入。