問題タブ [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.

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

iphone - iPhone/iPad アプリケーションへの静的ライブラリのアタッチ

iPhone または iPad 用のアプリケーションに静的ライブラリを含める最良の方法はどれですか?

私はすることを選ぶことができました

  • 適切なプラットフォームを提供するライブラリをコンパイルし、ユーティリティでライブラリ ファイルをar構築してから、フレームワークとしてプロジェクトに追加します。
  • ライブラリ .c/.h のソースを含めて、アプリケーションと一緒にコンパイルする

含めたいライブラリのすべての特定の設定を管理することは気にしないので、最初のアプローチはより簡単に思えますが、iPhone と iPad の両方のライブラリを作成し、リンク時に xcode が適切なライブラリを使用できるようにするにはどうすればよいですか?

2 番目のアプローチは、xcode がアプリケーションとライブラリのコンパイルを処理するため (設定が異なると思われます)、より複雑に思えます。lib のソースを簡単に追加できますが、xcode がそれらを使用して正しい方法でビルドできるようにするには、make スクリプトを含める必要があります。

続行する方法について何か提案はありますか? 含めようとしているライブラリはlibsshです。(もちろん、このライブラリは既にコンパイルされており、iPhone で正常に試行されていることは知っています)

前もって感謝します。

0 投票する
2 に答える
4129 参照

c++ - Linuxで外部ライブラリをコンパイルする際の問題

そのため、Linuxでlibssh2ライブラリをコンパイルしようとしていますが、例をコンパイルしようとすると、多くのエラーが発生し、要求されたヘッダーファイルを含めても、要求されます。エラーメッセージと結果のメッセージは次のとおりです。

新しいエラーは次のとおりです。

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

c - libssh2チャネルSSLBIOの使用法

私は自分の娯楽のために小さなftpプロジェクトを書いています。これは4つのことができると思われます。

  1. FTPに直接接続する
  2. SSL(ラッパー)を使用してFTPに直接接続する
  3. sshトンネルを介してftpに接続します
  4. sshトンネルを介してSSLを使用してftpに接続します。

私は、2と4のOpenSSLに加えて、3と4のlibssh2を使用して、1と2の標準ライブラリを使用してプレーンC(unix、この場合は重要ではありません)でプログラムを書いています。

私は1〜3を動作させることができますが、4は動作しません。

  1. host:portへのソケットを開き、接続し、ソケットから書き込み/読み取りを行います。
  2. host:portへのソケットを開き、接続し、「AUTH SSL」を書き込んで、前のソケットからのBIOでSSLオブジェクトを開始します-> SSL_connect()、SSL_read()、SSL_write()。
  3. ターゲットとローカルホストの間にトンネルを開くことによって行われます(ただし、私のアプローチでローカルホストバインドを何に使用しているかはわかりません:)

何かのようなもの:

次に、そのチャネルに書き込み/読み取りを行います(libssh2_channel_read())。これにより、次のフローが得られます。プレーンテキスト->ssh経由で送信->プレーンテキストをsshホストからターゲットに配信します。3.の目的のために、それは問題なく、仕事をします。

さて、4の場合、私は(単純にしようとして)どういうわけかこのチャネルをソケットに変える必要があるので、行き詰まっています。だから私はそれを見る方法には2つの選択肢があります:

  • a。疑似ソケットを作成し、読み取り/書き込みが必要になるたびに、チャネルから読み取り/書き込みを行い、それをソケットに送信/取得し、SSL_connect(pseudo_socket)が疑似ソケットと通信できるようにします。ssl_writeが送信するものを取り込むたびに、それをチャネルに送信し、その逆も同様です。

また

  • b。BIOバッファを設定し(頭を包み込むことができるよりも多くのBIO関数があります。ドキュメントはまったく役に立ちませんでした)、どういうわけかそれに読み取り/書き込みを行います。

この理由から、理想的には2を選択します。私のプロジェクトはCで記述されているため、他のコードを実行している間、ソケットの読み取り/書き込みを維持することは、私が望むよりも少し複雑になります。

ただし、b。問題が発生します。ハンドシェークがどのように機能するかが心配です。特に、いわばリモートホストではなくローカルホストでハンドシェイクを行うことになります。

私の質問を要約すると、チャネルを介してSSLで読み取り/書き込み(ラッパーを配置)して、4のフローが次のようになるようにすることはできますか?プレーンテキスト-> SSL(プレーンテキスト)->sshを介して->SSLを配信(プレーンテキスト)sshホストからターゲットホストに?

少し長いですが、理解できたと思います。そうでない場合は、お知らせください。明確にします。グーグル/検索stackoverflowから、これと同じ問題を抱えているのは私とmysqlで作業している人のようで、答えは限られています。

どんな入力でも大歓迎です!

  • ジェームズ
0 投票する
1 に答える
663 参照

linux - libssh2_channel_close は、リモート コマンドが終了するまでブロックされます

libssh2 を使用してリモート コンピューターにログインし、次に libssh2_channel_exec を呼び出してデーモン プログラムを実行します。デーモン プログラムは利用可能な tcpip ポートを選択し、選択した prot をコンソール (stdio) に出力します。次に、デーモンは着信接続のポートをリッスンします。これらのステップの後、クライアントは「libssh2_channel_read」によって stdio から選択された tcp ポートを読み取ります。正しい値を取得できます。しかし、問題は次のとおりです。libssh2 チャネル (libssh2_channel_close()) を閉じると、リモート プログラムが終了するまでプログラムがブロックされます。リモート プログラムを閉じずにチャネルを閉じる方法はありますか? ログインと使用可能な prot 番号にのみ ssh を使用するため、これで十分です。

また、リモートプログラムは Qt の QCoreApplication を使用するため、利用可能な prot を出力した後、クライアントに応答するために app.exec() のイベントループに入りますので、ポート番号を出力した直後に終了してはいけません。

0 投票する
2 に答える
2432 参照

iphone - 静的libssh2ライブラリをi386としてコンパイルすると、常にx86_64ライブラリが返されます

これに何時間も取り組んでいるので、どんな洞察も大歓迎です。

OS X上のiPhoneシミュレーター用にlibssh2をコンパイルしようとしています(すでにデバイス用に正常にコンパイルされています)。

次の環境変数とコマンドを使用しています。

生成されるdylibはx86_64として表示され、iPhoneアプリで静的ライブラリ.aファイルを使用しようとするとlibssh2.aと表示され、ファイルはリンクされているアーキテクチャ(i386)ではないサポートされていないファイル形式でビルドされました。

libgcryptおよびその他の必要なライブラリはすべて問題なくコンパイルされています。

前もって感謝します!

0 投票する
2 に答える
2228 参照

iphone - 誰が iPhone 用の libssh2.a をビルドできますか

誰が iPhone 用の libssh2.a をビルドできますか?
それはクロス コンパイルに関するものです。正しく設定する方法がまったくわかりません。

使いたいのはiPhoneのsftpクライアント

誰かがこれをしましたか?共有できますか?

0 投票する
2 に答える
2484 参照

iphone - armv6 と i386 の違いは何ですか?

libssh2.dylib ( http://www.libssh2.orgのlibssh2 ライブラリを使用して Matthew Wilkinson によってコンパイルされたサードパーティ ライブラリ) を xcode プロジェクトにリンクしようとしていますが、次のコードを試してみると:

エラーは次のとおりです。

libssh2 API を試すと、このエラーが発生します。誰でも何が問題なのか手がかりを持っていますか? これらは私がプロジェクトにリンクしたファイルです:

また、libssh2.dylib ファイルをフレームワークにリンクし、[ビルド] タブの [ヘッダー ファイルの検索] への再帰パスをファイル libssh2.a、libgcrypt.a、libgpg-error.a に追加しました。

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

iphone - Dyld: ライブラリがロードされていません

ライブラリ libssh2.1.dylib を iPhone Xcode プロジェクトにリンクしようとしていますが、リンクしようとするとこのエラーが発生します。これをフレームワークとして追加しないと、Symbols not found エラーが発生します。/Users/Matt/Documents/Development/iPhoneApps/Portscanner/lib/libssh2.1.dylib は、そのファイルへの正しいパスではありません。私はライブラリをインターネットからダウンロードし、その著者のコンピュータのパスをダウンロードしました。私はファイルをまったく別の場所に置いています。経路参照を変更するにはどうすればよいですか? エラーは次のとおりです。

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

php - phpseclibとlibssh2

私のプロジェクトの 1 つで、PHP を使用して SSH 経由でリモートで多数のサーバーに接続しようとしています。これには、 phpseclibと、libssh2 ライブラリに基づく PHP 用のssh2 PECL 拡張という 2 つのソリューションがあります。

両方を比較して、長所と短所などについて言及できる人はいますか?

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

iphone - iPhone 用の libssh2 のコンパイルが失敗する

現在、libssh2 をコンパイルして iPhone で実行しようとしています。

私の研究では、それをコンパイルする方法を見つけましたしかし、私がそれを試してみると、私はいつも得ます

configure: error: C preprocessor "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp" fails sanity check

何が間違っているのですか?または、すでに libssh2 をコンパイルした人は、コンパイル済みのファイルをアップロードできますか?