首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与java客户端共享密钥时的SFTP

与java客户端共享密钥时的SFTP
EN

Stack Overflow用户
提问于 2018-11-21 11:02:29
回答 1查看 2.9K关注 0票数 0

我有两个服务器A和B。我想要SFTP一个从服务器A到B的文件。

服务器A (~/.ssh/id_rsa.pub)的公钥已添加到服务器B的~/.ssh/authorized_keys中。

在命令行中,我可以从服务器A到服务器B进行SFTP,而无需输入密码。但是,从使用库Java杰希客户端,我无法连接到服务器B,并且我得到了身份验证错误:

代码语言:javascript
复制
Error occurred during SFTP. Auth fail
com.jcraft.jsch.JSchException: Auth fail
    at com.jcraft.jsch.Session.connect(Session.java:519)
    at com.jcraft.jsch.Session.connect(Session.java:183)
    at Main.main(Main.java:15)

我是否可以使用Java客户端连接到服务器B,而无需指定密码?

下面是我的Java代码供参考:

代码语言:javascript
复制
import com.jcraft.jsch.*;

public class Main {

    public static void main(String[] args) {

        JSch jsch = new JSch();
        Session session = null;

        try {
            session = jsch.getSession("processor", "remoteserver.myorg.com", 22);
            session.setConfig("StrictHostKeyChecking", "no");
            System.out.println("Trying to connect...");
            session.connect();
            System.out.println("Connected successfully.");

            Channel channel = session.openChannel("sftp");
            channel.connect();
            ChannelSftp sftpChannel = (ChannelSftp) channel;
            System.out.println("Doing SFTP...");
            sftpChannel.put("/tmp/test.txt", "/some/remote/folder");
            System.out.println("Success");
            sftpChannel.exit();
            session.disconnect();

        } catch (JSchException | SftpException e) {
            System.err.println("Error occurred during SFTP. " + e.getMessage());
            e.printStackTrace();
        }

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 11:08:26

addIdentity()中使用jsync api并指向您的私钥文件位置。

参考文献:我们可以使用JSch进行基于SSH密钥的通信吗?

代码语言:javascript
复制
   String privateKey = "~/.ssh/id_rsa";    
   jsch.addIdentity(privateKey);
   System.out.println("identity added ");    
   Session session = jsch.getSession(user, host, port);
   System.out.println("session created.");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53410705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档