[英]JSch how to use with PuTTY private key
我正在尝试将JSch与私钥配置一起使用。 我已经使用PuTTYgen生成了公共和私有密钥,但是不确定如何处理这两个文件。
需要将哪个密钥(公共/私有)转移到服务器?
首先,您需要在服务器上注册PuTTYgen生成的公共密钥。 请参阅准备进行公共密钥身份验证或(我的) 设置SSH公共密钥身份验证 。
最后看看我们可以使用JSch进行基于SSH密钥的通信吗? 有关在JSch中使用私钥的详细信息。
确保使用最新版本的JSch,因为旧版本本身不支持.ppk格式。
使用PuTTy私钥(.ppk)进行连接的代码段
JSch jsch=new JSch();
jsch.setKnownHosts("~\.ssh\know_hosts");
jsch.addIdentity("~\sshkey.ppk");
Session session=jsch.getSession("ec2-user", "54.12.11.90", 22);
session.setConfig("PreferredAuthentications", "publickey");
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
channel.connect(3*1000);
使用了Jsch的0.1.54版本
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
</dependency>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.