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