使用 SSH 和密钥对连接 Java-MySQL [重复]

Posted

技术标签:

【中文标题】使用 SSH 和密钥对连接 Java-MySQL [重复]【英文标题】:Connect Java-MySQL with SSH and Key Pair [duplicate] 【发布时间】:2021-02-17 23:18:15 【问题描述】:

我正在学习成为一名新开发人员。我租用了一台带有 Bitnami 和 LAMP 的 AWS 虚拟机来练习我关于 Java 和 mysql 数据库的练习。

我的连接有问题。我可以在终端中使用 SSH 连接到服务器,但是我无法连接到我的 Java 程序......我尝试使用 Jsch,我找到了一个使用我的密钥对的示例,但是,我不知道如何我使用密钥对直接使用 Java 连接到数据库。

谁能告诉我一个了解 Jsch 的链接?有代码解决这个问题吗?

感谢自述文件!这是我的第一个问题!!

【问题讨论】:

你好@Mol Mol,欢迎来到 ***。您的数据库可能正在侦听另一个端口,该端口不是用于 SSH 的端口 22。 mysql 的默认端口是 3306 所以也许你应该尝试连接 :3306/... 您需要将您的 MySQL 数据库连接到服务器端口。默认情况下,MySql 使用 3306 端口号。因此,如果您将 MY SQL 数据库和 Java 应用程序部署在同一个 EC2 实例上,那么您可以将您的数据库与 localhost:3306 连接,或者如果您的 Mysql 数据库在另一台服务器上,那么您需要使用 ip:3306 连接但如果您是学习 AWS 那么我会推荐你​​使用 RDS。 【参考方案1】:

感谢您的回答!!我已经通过两个链接解决了这个问题。

在此链接中,您可以了解如何在 Java 中创建 SSH -L。它解释了所有参数。 https://ayoub.io/2016/06/29/using-jsch-for-ssh-port-forwarding-java.html

但这不是一个完整的解决方案,因为我的代码有一个异常。在这个其他链接中,您有解决方案。 com.jcraft.jsch.JSchException: UnknownHostKey

我希望这对某人有所帮助。

【讨论】:

以上是关于使用 SSH 和密钥对连接 Java-MySQL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

密钥对连接linux服务器

xshell5使用ssh连接阿里云服务器

ssh密钥原理

SSH密钥认证

SSH密钥认证

AWS考证方向:使用key密钥连接实例