我正在尝试使用Java在远程服务器上执行shell脚本。对于Java中的SSH连接,我引用了以下链接:Run a command over SSH with JSch。但是它谈论提供用户名,密码信息。就我而言,我想提供公共密钥文件。有什么办法可以做同样的事情?
答案 0 :(得分:0)
尝试这样的事情:
jsch.addIdentity(privateKeyPath);
session = jsch.getSession(username, host, port);
session.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password");
如果您使用的是Windows,则可以使用Putty keygen工具将ppk转换为pem,反之亦然。我确定Linux会有类似的实用程序。