私はSSHとJSchが初めてです。クライアントからサーバーに接続するときに、次の 2 つのタスクを実行します。
- ファイルのアップロード (を使用
ChannelSFTP
) - ディレクトリの作成や MySQL データベースの検索などのコマンドを実行する
現時点では、2 つの個別のシェル ログインを使用して各タスクを実行しています (実際には、まだ MySQL クエリのプログラミングを開始していません)。
アップロードの場合、関連するコードは
session.connect();
Channel channel=session.openChannel("sftp");
channel.connect();
ChannelSftp c=(ChannelSftp)channel;
c.put(source, destination);
そして、私が持っているコマンドについて
String command = "ls -l";//just an example
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand(command);
最初のチャネルの後でセッションを切断してから、2 番目のチャネルを開く必要がありますか? または、セッションを完全に閉じて、新しいセッションを開きますか? 私が言ったように、私はこれに慣れていません。