首页 > 解决方案 > Java - 使用公钥文件通过 SSH 运行 shell 命令

问题描述

我正在尝试用 Java 在远程服务器上执行 shell 脚本。对于 Java 中的 SSH 连接,我参考了这个链接:Run a command over SSH with JSch。但它谈到提供用户名、密码信息。就我而言,我想提供公钥文件。有没有办法做同样的事情?

标签: javajsch

解决方案


尝试这样的事情:

jsch.addIdentity(privateKeyPath);        
session = jsch.getSession(username, host, port);
session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");

如果您在 Windows 上,您可以使用 Putty keygen 工具将 ppk 转换为 pem,反之亦然。我相信 Linux 会有类似的实用程序。


推荐阅读