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