JSch如何使用PuTTY私钥

3
我正在尝试使用JSch进行私钥配置。我已经使用PuTTYgen生成了公钥和私钥,但不确定如何处理这两个文件。
哪个密钥(公钥/私钥)需要传输到服务器?
2个回答

5

使用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);

我使用了0.1.54版本的Jsch。

        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.54</version>
        </dependency>

6
请不要建议任何人在没有解释安全后果的情况下使用StrictHostKeyChecking=no。这样做会失去对MIMT攻击的保护! - Martin Prikryl

4

完美的答案。现在已成功使用密钥对访问连接。 - user3424480

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接