我的db2数据库正在服务器上运行,该服务器的ssh密码登录被禁用,并且只允许私钥ssh。我正在尝试将一些数据导入到此数据库的表中(数据也位于服务器上)。由于没有私钥的obvios原因,ssh连接失败。如何配置data studio以便使用私钥进行ssh?
Data Studio 4.1.3在Windows机器上运行,数据库在Linux机器上运行。我可以使用私钥SSH或SFTP到 Linux 框,没有问题。
答案 0 :(得分:2)
存在不同的选择。
如果您有业务需要ssh到Db2服务器并且仅支持公钥 - 私钥认证,那么您(或像Db2实例所有者这样的帐户)需要具有相关的密钥文件和密码来完成你的工作。
如果您已拥有相关的密钥文件,请按照此link和所有相关链接页面获取有关如何配置IBM Data Studio以进行远程操作的详细信息。对于Data-Studio的4.1.3版,请使用菜单Window > Preferences > General > Network Connections > SSH2
。在本节中,您可以添加私钥,配置已知主机,生成密钥等,因此,如果您的目标Db2服务器已经有一个正常工作的sshd / sftpd,Data Studio将正常工作(它仅在您使用ssh时要求密码短语通过一些远程动作连接)。如果目标Db2服务器运行Microsoft-Windows,您可以选择忽略ssh而不是DAS(如果您之前在Db2服务器上创建了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版本,请参阅知识中心以查找详细信息和示例,例如here。您需要其他代码来验证导入操作的结果。
尴尬的解决方法:任何拥有对Db2服务器的ssh / scp访问权限的人也可能能够将文件从Db2服务器scp / secure-ftp到您的工作站(或网络上可访问的共享位置) ,从而允许您从工作站执行导入。