Java + SSH + Postgres

我们正在实施一个大学项目:Java中的汽车共享服务。

我们需要解决与“如何管理postgres服务器”相关的问题:PostgreSQL数据库在名为“golem”(130.136.4.sth)的实验室服务器中配置,只能通过同一子网(130.136.4.0)中的终端访问。 我们有四个帐户(我们的)通过我们可以建立到主机的ssh连接。

是否可以通过SSH向JAVA中的Postgres DB进行SQL查询?

谢谢你:)达维德

如果这只是用于开发,则可以使用ssh端口转发来访问数据库,就像在本地安装一样。 如何启用端口转发取决于您使用的客户端软件,例如openssh有一个命令行开关(-L):

ssh user@host -L localport:remotehost:remoteport 

此命令将使remotehost上的remoteport尽管只能通过host访问,但可以在计算机上的localport上使用。

看看其他建议的答案,因为它们似乎更容易实现您的需要。

但是,如果您确实需要使用Java实现命令提交以进行实验,那么您可以查看此处的JSch(Java安全通道)库: http : //www.jcraft.com/jsch/示例在这里http://www.jcraft.com/jsch/examples/

有了它,您可以通过Java API提交ssh命令并执行任何类型的操作

如果运行“ssh”,后跟命令在远程主机上执行的任何命令。 因此,您应该能够通过ssh以批处理模式运行预烘焙查询。

考虑进行密钥交换和密钥交换以启用无密码ssh执行。

示例(这只是将目录列表转储到您的终端):

 ssh me@mybox ls