【问题标题】:JSch how to use with PuTTY private keyJSch 如何与 PuTTY 私钥一起使用
【发布时间】:2015-04-11 02:59:43
【问题描述】:

我正在尝试将 JSch 与私钥配置一起使用。我已经使用 PuTTYgen 生成了公钥和私钥,但不确定如何处理这两个文件。

哪个密钥(公钥/私钥)需要传输到服务器?

【问题讨论】:

    标签: putty jsch private-key public-key


    【解决方案1】:

    确保您使用最新版本的 JSch,因为旧版本本身不支持 .ppk 格式。

    【讨论】:

    • 完美答案。现在已使用密钥对访问成功连接。
    【解决方案2】:

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

    【讨论】:

    • 请不要在未解释安全后果的情况下建议任何人使用StrictHostKeyChecking=no。这样做,您将失去对MIMT attacks 的保护!
    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 2011-10-22
    • 2018-10-12
    • 2021-07-21
    • 2013-02-26
    • 2011-10-05
    • 2019-04-07
    • 1970-01-01
    相关资源
    最近更新 更多