在JAVA中生成RSA秘钥对实现SSH互信

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
一开始参考的http://blog.csdn.net/wangqiuyun/article/details/42143957这篇文章,后来发现文中使用的是 java.security.KeyPair,生成的秘钥对不符合互信的要求。
于是换用com.jcraft.jsch.JSch,官网是http://www.jcraft.com/jsch/,也可以通过maven引入。具体代码如下
public static Map<String, String> getKeyMap(String comment) {
		Map<String,String> keys = new HashMap<>();
		int type = KeyPair.RSA;
		JSch jsch = new JSch();
		try {
			KeyPair kpair = KeyPair.genKeyPair(jsch, type);
			//私钥
		    ByteArrayOutputStream baos = new ByteArrayOutputStream();//向OutPutS
Java使用Jsch与sftp服务器实现ssh免密登录 java使用jsch与sftp服务器实现免密登录 阅读详情

相关推荐

jsch链接报错invalid privatekey解决密钥格式opensshrsa

前段时间对接某家银行时需要对请求报文进行加密请求,但是加密的工具是行方提供的工具进行生成的,在读取生成的对应密钥时发生了报错。

zsf1600594370的博客 3081

java jsch 密钥登陆_java – 我们可以使用JSch进行基于SSH密钥的通信吗?

有可能的。看看JSch.addIdentity(...)这允许您使用键作为字节数组或从文件读取它。import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;public class UserAuthPubKe...

weixin_34736362的博客 551

Java实现RSA加密解密,数字证书生成与验证(有搭Socket)

AB双方通信,A把需要传输的文件MD5值用自己的私钥生成数字签名,连同明文用B的公钥加密后传送给B,B用私钥解密验证数字签名,并计算明文MD5值跟密文的MD5值比较

java ssh免密登录_SSH公钥、私钥配置(SSH免密码登录方式)

1.首先使用想要发起ssh免密访问的用户A登录Linux(简称客户端Linux)2.进入该用户的家目录(cd ~),看是否有.ssh文件夹(linux中以.开头文件夹是隐藏的,使用ll -a进行查看),如果没有则创建(mkdir ~/.ssh),并修改访问权限(chmod 700 ~/.ssh);3.生成公钥和私钥,命令:ssh-keygen -t rsa。一路回车下去,中途会提示然你输入pas...

weixin_39636610的博客 1466

SSH key的生成及使用

SSH key的生成及使用SSH key生成及其使用 一、检查是否已经存在ssh key通常sshkey会默认生成在用户家目录下,所以查看家目录下是否存在.ssh 文件夹,以及是否存在相关目录就行。(~/.ssh/id_rsa)二、生成key在控制台输入: ssh-keygen -t rsa Note: -t 的意思是选择kye的type。分别有 RSA ...

大鱼吃小鱼7的博客 1566

从零到一:手把手教你玩转Linux核心服务(SSH/SCP/RSYNC/FTP)

SSH是一种安全的远程连接协议,通过加密技术保障数据传输安全。文章介绍了两种加密算法:对称加密(如DES)使用相同密钥加解密,速度快但安全性较低;非对称加密(如RSA)使用公钥加密、私钥解密,更安全但效率较低。SSH支持两种认证方式:基于用户名密码认证和基于密钥对的免密认证。后者通过公钥比对和随机字符串验证实现安全登录。实验部分展示了如何在两台Rocky Linux主机上配置静态IP、主机名和防火墙,为SSH连接做准备。

weixin_53177141的博客 79

CA证书及密钥对应用笔记

1、针对CA对接处理 2、针对密钥对处理和应用

CoffeeAndIce的博客 3245

Hadoop2.7.6+Spark2.1.0分布式集群环境搭建

Hadoop2.7.6+Spark2.1.0分布式集群环境搭建 参考博文链接:https://www.cnblogs.com/purstar/p/6293605.htmlhttp://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 一、 修改host文件 1、在主节点,就是第...

孑然一身踽踽而行 428

hadoop环境安装与配置

参考文章【侵删】:https://www.cnblogs.com/yjmyzz/p/4280069.html                                 https://www.cnblogs.com/vincentzh/p/6034187.html#t5 环境:vmware14pro+centos7              hadoop 2.6.1 +jdk1.8.0...

weixin_42284955的博客 512

Hadoop大数据练习(一)——环境的安装配置

大数据实战练习

stars_tea的博客 1369

昇腾Atlas 200 DK部署优化:Docker容器化与自动化脚本实践

在AI边缘计算领域,昇腾(Ascend)处理器因其强大的推理能力而备受关注。其核心原理在于通过达芬奇架构和CANN异构计算架构,实现高效的AI算力释放。这一技术价值在于为边缘侧设备提供了低功耗、高算力的AI推理解决方案,广泛应用于智能安防、工业质检、自动驾驶等场景。然而,在实际部署昇腾开发板(如Atlas 200 DK)时,开发者常面临环境配置复杂、依赖冲突和网络敏感等挑战。本文聚焦于通过Docker容器化技术实现环境隔离与可复现,并结合自动化脚本,构建稳定高效的部署流程,从而显著降低昇腾AI开发环境的搭建

weixin_34008805的博客 361

删除github中某个文件夹

在上传项目到github时,忘记忽略了某个文件夹target,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的target文件夹删除前:删除后:在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决首先进入你的master文件夹下, Git Bash Here ,打开命令窗口$ git --help 帮助命令$ git pull origin master...

波风水门 1278

java 创建ssh用户秘钥,连接Java主机后如何读取SSH密钥-信号对标语(用于生成SSH密码)?...

I want to read the the SSH key-sig pair banner (for generating SSH password) after connecting to a remote host in java. I'm using JSch client library for SSH connections.The SSH password changes after...

weixin_42365586的博客 352

java ssh 密钥,基于ssh密钥对的自动登录

因工作中经常和linux服务器打交道,为了避免在各服务器之间切换频繁输入密码,使用了基于ssh密钥对的自动登陆。下面从整体上粗略的介绍了 RSA/DSA 密钥的工作原理。让我们从一种假想的情形开始,假定我们想用 RSA 认证允许一台本地的计算机(称作 localbox)打开 remotebox上的一个远程 shell, remotebox 是我们的 ISP 的一台机器。此刻,当我们试图用 ssh ...

weixin_28814119的博客 686

java端使用密钥认证创建ssh连接,出现读取id_rsa, id_dsa出错的可能原因

问题重现: 1. 首先在mac的ssh命令行中,使用ssh-keygen生成rsa密钥,并且将公钥复制到目标服务器的/root/.ssh/authorized_keys文件中 2. 使用命令行 ssh root@host 免密登录没有问题 3. 接着使用sshj进行ssh连接 String ...

chenzhinai2023的博客 3554

Java实现RSA加密算法

package Security1; import java.math.BigInteger; import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; ...

wsc的博客 3028
上一篇: spring集成redisCluster
下一篇: java中的List集合运算
路小超
博客等级 码龄12年 2粉丝 5原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值