Data Studio 中的 sshd 连接失败

sshd connection fails in Data Studio

我的 db2 数据库 运行 在禁用 ssh 密码登录且仅允许私钥 ssh 的服务器上。我正在尝试将一些数据导入此数据库中的 table(数据也位于服务器上)。由于明显的原因,ssh 连接失败,原因是它没有私钥。我如何配置 Data Studio 以便它使用私钥进行 SSH?

Data Studio 4.1.3 运行 在 windows 机器上,数据库 运行 在 Linux 机器上。我可以使用私钥通过 SSH 或 SFTP 连接到 Linux 框,没有问题。

存在不同的选项。

  • 如果您有业务需要ssh到Db2-server,并且只支持public-私钥认证,那么您(或像Db2-instance owner这样的账户)需要有相关的密钥文件和密码才能完成你的工作。

  • 如果您已经有相关的密钥文件,请按照此 link 和所有相关的 link 页面了解如何配置 IBM Data Studio 的详细信息用于远程操作。对于 Data-Studio 版本 4.1.3,使用菜单 Window > Preferences > General > Network Connections > SSH2。在此部分中,您可以添加私钥、配置已知主机、生成密钥等,因此如果您的目标 Db2-server 已经有一个可用的 sshd/sftpd,Data Studio 将正常工作(它仅在您使用时要求输入密码通过一些远程操作的 ssh 连接)。如果目标 Db2-server 运行 Microsoft-Windows,您可以选择忽略 ssh 而只使用 DAS(如果您之前在 Db2-server 上创建了一个 DAS 并让它工作,这不是默认设置),或者配置带有 cygwin 的目标 MS-Windows 服务器(如上面 link 中所述)提供 sshd/sftpd 尽管这很笨拙。 此外,如果您已经拥有私钥和密码,为什么不简单地使用 ssh 客户端通过 ssh 连接到目标 Db2 服务器以执行所需的任何操作。同样,如果目标 Db2-server 运行 MS-Windows,则 mstsc 可用,如果 provisioned/enabled。 GUI 对于 Db2 导入操作不是必需的。

  • 如果要导入的文件已经在 Db2 服务器上,那么您可以使用简单的 SQL 从 Data Studio 中执行 IMPORT 操作。关键细节是使用 SYSPROC.ADMIN_CMD 存储过程执行导入,并在其参数中指定导入文件的完全限定路径。请参阅适用于您的 Db2 版本的知识中心以查找详细信息和示例,例如 here。您将需要额外的代码来验证导入操作的结果。

  • 尴尬的解决方法:任何人 ssh/scp 访问 Db2-server 也可以 scp/secure-ftp 文件从 Db2-server 到您的工作站(或以其他方式访问网络上的共享位置),从而允许您从您的工作站执行导入。