問題タブ [libssh]
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.
c++ - libsshの静的ライブラリにより、vc10で未解決のシンボルが発生します
VisualStudio10にlibsshを使用しようとしているC++dllプロジェクトがあります。libssh機能を静的にリンクしたいと思います。非静的ライブラリを使用し、実行時にdllを含めると、コードは期待どおりにコンパイルおよび実行されます。しかし、静的ライブラリに変更すると、コンパイルできず、使用しようとしているlibssh関数のリンカーエラーが発生します。例:
php - ssh2.so が CentOS 5 にロードできない
PHP 5.1.6 を使用して CentOS 5 を実行している Web サーバーに PHP 用の SSH2 ライブラリをインストールしようとして、すべての依存関係を正常にインストールできましたが、Web サーバーを再起動すると、次のエラーが表示されます。
PHP 警告: PHP の起動: 動的ライブラリ '/usr/lib64/php/modules/ssh2.so' を読み込めません - libssh2.so.1: 共有オブジェクト ファイルを開けません: 行 0 の不明にそのようなファイルまたはディレクトリはありません
誰もこれに遭遇したことがありますか?ssh2.so ファイルは「/usr/lib64/php/modules/ssh2.so」に存在し、他のすべての拡張子 (-rwxr-xr-x) と同じファイル許可を持っています。
ありがとう
c++ - QThread :: run()からユーザーフィードバックを取得する方法(例:QMessageBox)?
別のスレッド内からあらゆる種類のGUIウィジェットを実行するのは悪いことです。メッセージだけの場合、これはメインスレッドへのシグナルで克服できます。しかし、スレッドがユーザー入力を必要とする場合、どのように答えをスレッドに戻すことができ、そのスレッドはどのようにその答えを待つことができますか?
私の特定のケースは、libsshのsftpを使用するアプリケーションです。接続および認証中に、ユーザーは1つ以上の質問に答える必要がある場合があります。ただし、パフォーマンス上の理由から、SSH/SFTP関連のものはすべて別のスレッドで実行する必要があります。
c - ブロックせずにlibssh2セッションをクリーンアップしますか?
私のアプリはlibssh2を使用してSSH経由で通信し、通常は正常に動作します。私が抱えている問題の1つは、リモートホストが予期せず停止した場合です。この場合のリモートホストは、いつでも電力を失う可能性のある組み込みデバイスであるため、これは珍しいことではありません。
その場合、私のアプリはリモートコンピューターがpingへの応答を停止したことを検出し、次のようにSSH接続のローカルエンドを切断します。
非常に簡単ですが、問題は、libssh2_channel_free()呼び出しが、リモートエンドが「I'mgoing away now」メッセージに応答するのを長時間ブロックする可能性があることです。これは、電源がオフになっているため、決して実行されません...しかし、その間、私のアプリはフリーズします(クリーンアップルーチンでブロックされます)。これは良くありません。
これを回避する方法(libssh2をハッキングする以外)はありますか?ローカルSSHデータ構造を破棄し、この破棄中にブロックしないようにしたいと思います。(SSHセッションメモリを単にリークするか、別のスレッドに委任することができると思いますが、それらは適切な解決策ではなく、醜いハックのようです)
c++ - libssh を使用したカスタム コマンド
condor_submit
コンドル サーバーとの通信に SSH を使用していますが、カスタム コントロール用のコマンド ( 、condor_make
、condor_q
など)を呼び出す必要があります。Xcode プロジェクト (はい、Mac OS を使用しています) に libSSH をダウンロードして正常に統合したところ、提供された関数がカスタム コマンドをサポートしていないことがわかりました。チュートリアルでは、これによりホスト上でコマンドが実行されると述べられています。
しかし、"ls -l"
を let's sayに置き換えると"condor_q"
、コマンドが実行されないようです。次のようなインタラクティブなシェルセッションを使用して、これを修正できました。
私の質問は、コマンドを「偽送信」するよりも、SSH 経由でカスタムコマンドを送信する簡単な方法はありますか?
ありがとう
マックス
c++ - libsshとSFTPを使用してC/C++でファイルをコピーする方法
クライアントからリモートサーバーにファイルをコピーしたいのですが、libsshライブラリのSFTPAPIを使用してコピーする方法がわかりません。
状況は次のとおりです。SSHセッションが開いており、SFTPセッションも開いているので、libsshの統合機能を使用して、ファイルを作成し、クライアントからサーバーに書き込むことができます。
sftp_transfer(sourceFile(like c:\ my document \ hello world.txt)、RemoteFile(/home/user/hello world.txt)のような単純な関数を使用して、クライアントからサーバーにファイルをコピーする簡単な方法が見つかりませんでした。 )、right(読み取りと書き込み))?
チュートリアルから理解したことでは、最初にリモートロケーション(サーバー)にファイルを作成し、次に次のコード行でこのファイルを開きます。
その後、ファイルはサーバー上に作成され、次にこの作成されたファイルにバッファーを使用して書き込みます。
私の質問は、.docファイルなどのファイルがあり、そのファイルをc:\mydocument\document.doc
リモートサーバーからリモートに転送/アップロードしたい/home/user/document.doc
場合、この方法でどのように行うことができますか?
このファイルを関数に入れて、サンプル関数sftp_write()
のhelloworldのように送信するにはどうすればよいですか?
私はプログラミングが十分に理解できないかもしれませんが、私は本当にそれを理解しようとしました、そして私はそれに固執しています。
よろしくお願いします
テストに使用したコードのサンプルを以下に示します。
c - `ssh_new'への未定義の参照
私は次のMakefileを持っています:
sshlib.hにはlibssh/libssh.hが含まれ、sshlib.cppにはsshlib.hが含まれます。作られたとき私は得る:
また、libssh.aがどこにあるかを再確認します。
私も試し-llibssh
てみまし-llibssh.a
た。この男も非常によく似た未回答の質問をしているようです。
x11 - Libssh、X11 フォワーディング
libssh で X11 転送を使用しようとしています。そうするための良い例が見つからないので、libsshでX11を使用する方法の例を誰か教えてもらえますか?
ありがとう!
ubuntu - libssh使用時のメモリリーク
アプリケーションでlibsshを使用しようとしていますが、メモリリークが発生し続けます。私が試している最も単純なコードは次のとおりです。
期待どおりに動作しますが、リークに関するValgrindの苦情(ssh_connectによって割り当てられたすべてのメモリが解放されなかったかのように):
使ってます:
- Ubuntu 12.04 x64 LTS
- libsshバージョン0.5.2-1ubuntu0.12.04.1(現時点で入手可能な最新のもの)
- g ++ / gccバージョン4.6.3(Ubuntu / Linaro 4.6.3-1ubuntu5)
- valgrind-3.7.0
私は何が間違っているのですか?どんな助けでも大歓迎です。