java - Java - 使用公钥文件通过 SSH 运行 shell 命令
问题描述
我正在尝试用 Java 在远程服务器上执行 shell 脚本。对于 Java 中的 SSH 连接,我参考了这个链接:Run a command over SSH with JSch。但它谈到提供用户名、密码信息。就我而言,我想提供公钥文件。有没有办法做同样的事情?
解决方案
尝试这样的事情:
jsch.addIdentity(privateKeyPath);
session = jsch.getSession(username, host, port);
session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");
如果您在 Windows 上,您可以使用 Putty keygen 工具将 ppk 转换为 pem,反之亦然。我相信 Linux 会有类似的实用程序。
推荐阅读
- lua - 如何通过索引从 lua 中的嵌套表中获取值?
- android - 如何使用 AWS Pinpoint 通过邮递员发送推送通知
- python - 如何关闭具有特定标题或窗口名称的子进程(具有多个打开文件的 Excel)?
- sql - 如何在没有四舍五入的情况下比较 SQL Server 中的两个十进制值?
- mysql - 如何在 Oracle 中获得类似的值
- excel - 网站仍在加载时自动输入网站数据时出错
- opencv - OpenCV 未定义参考:cv::xfeature2d::BriefDescriptorExtractor::create(int, bool)
- javascript - 计算第一行值后启用表中的所有其他行
- flutter - 如何不在根小部件上而是在其自己的小部件上实现计时器?
- swift - UIView.animate 没有动画