电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java SSH 秘鑰連接mysql數據庫的方法

瀏覽:83日期:2022-08-09 16:33:13

當目標數據庫不能直連的,需要一個服務器作為中間跳板的時候,我們需要通過SSH通道連接數據庫。

ps:使用ssh連接,相當于本地開了個端口去連接遠程的服務,就是ssh通道,本地起的項目監(jiān)聽本地的端口,就可以使用這個通道進行數據傳輸。

1、引入依賴

<dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.55</version> </dependency>2、代碼編寫

#ssh連接是否開啟ssh.forward.enabled=true#SSH連接跳板機地址 必填ssh.forward.host=#SSH連接端口 必填 固定ssh.forward.port=22#SSH連接用戶名 必填 ssh.forward.username=#SSH連接密碼 ssh.forward.password=#本地起的 必填 固定ssh.forward.from_host=localhost#本地開啟的端口 必填 ssh.forward.from_port=3307#需要監(jiān)聽的遠程服務的ip 必填ssh.forward.to_host=#需要監(jiān)聽的遠程端口 必填ssh.forward.to_port=3306#SSH連接秘鑰地址,也可以使用rsa.ppk文件ssh.identity=C:Users69425.sshid_rsa2.1、配置 application.ssh.properties文件

Java SSH 秘鑰連接mysql數據庫的方法Java SSH 秘鑰連接mysql數據庫的方法Java SSH 秘鑰連接mysql數據庫的方法

2.2、配置 SshConfiguration代碼

import com.jcraft.jsch.JSch;import com.jcraft.jsch.JSchException;import com.jcraft.jsch.Session;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.web.servlet.ServletContextInitializer;import org.springframework.stereotype.Component;import javax.servlet.ServletContext;import javax.servlet.ServletException;import java.io.IOException;import java.util.Properties;@Slf4j@Componentpublic class SshConfiguration implements ServletContextInitializer { public SshConfiguration() {try { Properties p = new Properties(); p.load(getClass().getResourceAsStream('/application.ssh.properties')); //如果配置文件包含ssh.forward.enabled屬性,則使用ssh轉發(fā) if (p.getProperty('ssh.forward.enabled') != null) {log.info('ssh forward is opend.');log.info('ssh init ……');JSch jSch = new JSch();//需要使用秘鑰時添加jSch.addIdentity(p.getProperty('ssh.identity'));Session session = jSch.getSession(p.getProperty('ssh.forward.username'), p.getProperty('ssh.forward.host'), Integer.parseInt(p.getProperty('ssh.forward.port')));session.setConfig('StrictHostKeyChecking', 'no');session.setPassword(p.getProperty('ssh.forward.password'));session.connect();session.setPortForwardingL(p.getProperty('ssh.forward.from_host'), Integer.parseInt(p.getProperty('ssh.forward.from_port')), p.getProperty('ssh.forward.to_host'), Integer.parseInt(p.getProperty('ssh.forward.to_port'))); } else {log.info('ssh forward is closed.'); }} catch (IOException e) { log.error('ssh IOException failed.', e);} catch (JSchException e) { log.error('ssh JSchException failed.', e);} catch (Exception e) { log.error('ssh settings is failed. skip!', e);} } @Override public void onStartup(ServletContext servletContext) throws ServletException {log.info('已使用ssh連接'); }}2.3、application.yum

spring: datasource:# localhost:3307 這里是ssh.forward.from_host:ssh.forward.from_port url: jdbc:mysql://localhost:3307/mysql?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8# mysql數據庫連接用戶名 username: # mysql數據庫連接密碼 password: driver-class-name: com.mysql.cj.jdbc.Driver# 使用了druid去配置及監(jiān)控連接池和本文無關,可加可不加 druid: initial-size: 2 min-idle: 1 max-active: 10 max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 validation-query: select ’x’ test-while-idle: true test-on-borrow: false test-on-return: false pool-prepared-statements: true3、啟動項目

Java SSH 秘鑰連接mysql數據庫的方法

當看到這里**“已使用ssh連接”**就可以了是連接成功了。

4、出現異常報錯

com.jcraft.jsch.JSchException: invalid privatekey: [B@53a7a60c

這是秘鑰問題,這個異常只在使用秘鑰時候才會有。是秘鑰解析失敗,并不是使用秘鑰連接失敗。如果出現這個異常可以到這篇文章中查看:詳解Java使用Jsch與sftp服務器實現ssh免密登錄。

這個依賴已經很久沒更新了。但是目前本人未發(fā)現更好的ssh連接jar包 ↩︎

到此這篇關于Java SSH 秘鑰連接mysql數據庫的方法的文章就介紹到這了,更多相關Java ssh連接mysql數據庫內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 闪电优家-卫生间防水补漏_酒店漏水渗水维修_防水堵漏公司 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 通用磨耗试验机-QUV耐候试验机|久宏实业百科 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 免费B2B信息推广发布平台 - 推发网| 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 江苏远邦专注皮带秤,高精度皮带秤,电子皮带秤研发生产 | 写方案网_方案策划方案模板下载| 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 西门子代理商_西门子变频器总代理-翰粤百科 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 溶氧传感器-pH传感器|哈美顿(hamilton)| 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 全自动实验室洗瓶机,移液管|培养皿|进样瓶清洗机,清洗剂-广州摩特伟希尔机械设备有限责任公司 | 江苏齐宝进出口贸易有限公司 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 黄石妇科医院_黄石东方女子医院_黄石东方妇产医院怎么样 | 欧景装饰设计工程有限公司-无锡欧景装饰官网| 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 全钢实验台,实验室工作台厂家-无锡市辰之航装饰材料有限公司 | 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 | 湿地保护|