gpt4 book ai didi

java - 如何让 JSch API 在没有密码的情况下登录到 Unix 服务器?

转载 作者:搜寻专家 更新时间:2023-11-01 01:23:36 24 4
gpt4 key购买 nike

我正在尝试制作一个 Java 应用程序,它使用 JSch 在远程 Unix 服务器上执行 shell 脚本API。

我想知道是否可以不用密码登录服务器。如果是这样 - 怎么样?我是否应该在服务器上生成一对身份验证 key ,然后让应用程序从 key 文件中读取信息?

Java 应用程序在 Windows 工作站上。

最佳答案

由于需要一段时间才能生效,这里是一个完整的修改示例:

JSch jsch=new JSch();
Session session=jsch.getSession("my_username", "my_host", my_port);
session.setConfig("PreferredAuthentications", "publickey");
jsch.setKnownHosts("~/.ssh/known_hosts");
jsch.addIdentity("~/.ssh/id_rsa");
session.setConfig("StrictHostKeyChecking", "no");
session.connect(30000);
Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
channel.connect(3*1000);

注意您是否已将 rsa 或 dsa key 复制到服务器并在 addIdentity 行添加相应的身份 - id_rsa 或 id_dsa。

(cat .ssh/id_rsa.pub | ssh me@servername 'cat >> .ssh/)。

关于java - 如何让 JSch API 在没有密码的情况下登录到 Unix 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5947791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com