問題タブ [ssh2-sftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2500 参照

node.js - NodeJS SSH2 が認証されず、既知のホストが定義されている

NodeJS で SSH2 を使用して、あるサーバーから別のサーバーにファイルを転送しようとしています。ただし、ネットワーク管理者は承認されたユーザーの秘密鍵を設定しており、基本的にコマンドライン経由で他のサーバーに接続できるようにしています... $ ssh user@server2 とパスワードを入力せずに接続できます。認証がknown_hostsで事前定義されていることは知っていますが、これをnodejsで機能させようとしています。

SSH2 構成では、privateKey またはパスワードのいずれかが必要なようです。このような問題の回避策を知っている人はいますか? それとも、私は何か間違ったことをしていますか?私が見つけることができる唯一のキーは known_hosts ファイルにありますが、正しい形式ではないようです。

これが私が取り組んでいるものです...

0 投票する
1 に答える
896 参照

javascript - (Electron アプリ内で) ssh2 Node.js モジュールを介して SFTP を使用して複数のファイルを一度にダウンロード/アップロードするにはどうすればよいですか?

Electron を使用して単純な SFTP クライアントを構築しており、ssh2 モジュールとそのモジュール内の SFTPStream を使用して、一度に複数のファイルをダウンロードまたはアップロードしようとしています。es6-promise-pool の使用など、さまざまなメソッド構造を試しました。私が試みるたびに、転送するファイルの配列から1つのファイルが適切に転送され、その後、次のファイルが転送されます

MaxListenersExceededWarning: E​​ventEmitter メモリ リークの可能性が検出されました。[EventEmitter] に 11 個の sftp_message リスナーが追加されました。制限を増やすには、emitter.setMaxListeners() を使用します

メッセージがコンソールに表示され、残りのファイルは転送されません。これが発生しないようにメソッド構造を変更する方法がわかりません。ipcRenderer を使用して、ここに表示するメソッドを実行するように ipcMain に指示しています (たとえば、ファイルをアップロードするための構造を次に示します)。

確かに、promise プールの使用は私にとって初めてのことであり、それらを適切に使用しようとしているかどうかはわかりません。このトピックに関する別の投稿では、私が抱えている問題の発生を防ぐためにプロミス プールを使用していましたが、その例には Electron アプリは含まれていませんでした (関連性があるかどうかはわかりません)。私が得ることができるどんな助けにも感謝します!