0
公開鍵/秘密鍵ベースの認証を使用してSSH経由でリモートクエリを実行しようとしています。次のコマンドはうまく動作し、ローカルホストとリモートサーバーの間で公開鍵を共有した後、bashシェルに必要な出力を文字列として返します。JAHを使用してSSHに文字列をエコーする方法
echo 123456 [email protected]:14 ABCD abc1234 | ssh -T [email protected]
どのように私はJSCHまたはSSHJを使用してJavaで同じことを実現するか、または他の同様のライブラリ
これは私がSSHJを使用して、これまでにしようとしているものですが、それは(接続が成功した私のために動作しませんでしたが、コードの下に何も結果)
public static void main(String... args)throws IOException {
final SSHClient ssh = new SSHClient();
ssh.loadKnownHosts();
ssh.connect("abc.xyz.com");
try {
ssh.authPublickey("user");
final Session session = ssh.startSession();
try {
final Command cmd = session.exec("123456 [email protected]:14 ABCD abc1234");
System.out.println(IOUtils.readFully(cmd.getInputStream()).toString());
cmd.join(5, TimeUnit.SECONDS);
System.out.println("\n** exit status: " + cmd.getExitStatus());
} finally {
session.close();
}
} finally {
ssh.disconnect();
ssh.close();
}
}
いくつかのコードを表示してください...あなたは何の問題に直面していますか? – Abhishek
"SSH_を介してリモートクエリを実行する"。 _whatサービスへのリモートクエリ_ですか? –
サーバー側でどのサービスが実行されているのかわかりませんが、アクセスできません。上記のコマンドをシェルで実行すると、必要な出力が得られます。 JSCHまたはSSHJを使ってjavaから同じものを実行する方法があるので、jarライブラリファイルに変換することができます – Dileep