gpt4 book ai didi

java - jsch ssh 连接无法获取authorized_keys

转载 作者:行者123 更新时间:2023-12-02 09:59:37 25 4
gpt4 key购买 nike

我正在尝试通过 ssh 从 Windows 到 UNIX 服务器建立连接我的目标是将它放在我的 java 应用程序中,这样我就可以运行命令,而无需在每次连接时输入密码

现在我正在尝试了解我在按键方面做错了什么

我在 Tectia 中生成了一个 key 并将其上传到服务器;我可以在 .ssh 中看到它为 2798 Apr 17 10:56authorized_keys

我的连接设置如下

...
JSch jsch = new JSch();
jsch.setKnownHosts("~/.ssh/know_hosts");
jsch.addIdentity("~/.ssh/authorized_keys");

System.out.println("identity added ");
Session session=jsch.getSession(user, host, 22);
session.setConfig("PreferredAuthentications", "publickey");
System.out.println("session created.");

session.connect();
System.out.println("Connected");
....

因此我收到此错误

com.jcraft.jsch.JSchException: java.io.FileNotFoundException: C:\Users\User\ .ssh\authorized_keys (The system cannot find the path specified)

它正在我的本地计算机上查找 key ,但未连接到服务器

我的这些键出了什么问题?

最佳答案

addIdentity 的参数是您的私钥 key 的本地路径。

相反,您为其提供一个文件路径:

  1. 将包含公钥 key ;
  2. 无论如何都不会本地退出。

关于java - jsch ssh 连接无法获取authorized_keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55730803/

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