問題タブ [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 - 1 つのプログラム内で 2 つのソケット アプリケーションを実行する
私は 2 つの C/C++ ソケット プログラム、たとえばserver
とを持っており、両方とも と を介してclient
互いに通信します。localhost の 2 つの別々の端末で 2 つのプログラムを実行すると、フロー全体 (つまり、通信、読み取り、書き込み) が正常に機能します。プログラムを手動で開始することを避けるために、サーバー プログラムで を使用します。ただし、そうしても、2 つの別々の端末の結果として正しい結果が得られません。ジョブ モニターで確認して実行していますが、その間の通信はまったく行われていないようです。何が問題なのですか?read
write
client
system(exec_cmd_to_run_client_program)
server
client
libssh
また、プログラムでsshライブラリを使用しserver
て新しいsshセッションを開き、実行コマンドを送信してclient
プログラムを実行しようとしました。ここでも、システム コールと同じ結果が表示されます。両方のプログラムがジョブ モニターに表示されましたが、通信は行われませんでした。私は何か見落としてますか?
c - プロジェクトに libssh を含める方法
指示に従ってlibsshをインストールしました。すべて問題ないように見えますが、コンパイラは「#include」行に「ファイルが見つかりません」というエラーを返します。ディレクトリまたはリンクと関係があると思いますが(ダウンロードしたのと同じフォルダーに「make install」があります)、どこに置くべきかわからないので、任意のプロジェクトに#includeできます。
これがインストール方法です。ダウンロードして、デスクトップ(Mac)の「libssh」フォルダーに解凍します。
それから私はやった
そして最後に:
次に、私のプログラムには次のものがあります。
XCode は「libssh/sftp.h ファイルが見つかりません」を返します。デスクトップの libssh フォルダーをプロジェクトに追加しようとしましたが、まだ同様の問題があります。
任意のプロジェクト (pthread や他の多くのプロジェクトなど) で使用できるように、/usr/include フォルダーに (何らかの方法で) インストールする必要があると思いますが、これを行う方法がわかりません。
/usr/include に他のファイルをインクルードすると ( のように) 正常に動作しますが、#include を実行するとファイルが見つかりませんでした。
これは非常に単純なサンプル コードです。
linux - libssh: ssh_userauth_none が常に SSH_AUTH_ERROR を返す
私のsshクライアントでは、ssh_userauth_none
呼び出す前に使用していますssh_userauth_list()
。しかし、それは常に を返しますSSH_AUTH_ERROR
。エラーの理由を調べようとすると、 と表示されssh_get_error()
ますSocket error: disconnected
。
他の Linux マシン (Ubuntu) で同じコードを使用しましたが、正常に動作します。しかし、CentOS Linux ベースの組み込みマシンで試してみると、常にエラーで失敗します-SSH_AUTH_ERROR
。
ファイル内のフィールドが欠落しているssh_config
ため、認証が機能しませんか?
それとも、ユーザー名/パスの問題に関連していますか?
c++ - 1 つのチャネルを開き、libssh でいくつかの異なるコマンドを実行するにはどうすればよいですか?
たとえば、1 つのセッションと 1 つのチャネルを開き、さまざまなコマンドを実行したいとします。InitializeSSHSession と Initialize SSH channel メソッドを以下に示します。
そして主に、私はセッションを初期化し、次のようなチャネルを取得しています:
その後
正しく実行されても問題ありませんが、実行されていない別のコマンドを実行したい場合は、プロセスの最初に戻り、最初にセッションを初期化し、チャネルを再度取得する必要があります。
すべてのコマンドに適したソリューションではありません。すべてのコマンドに対して何度も何度も使用するよりも、一度セッションを初期化することは可能ですか?
c - libssh を使用してローカルホストへのチャネルを開く
私は、仲介者サーバーへのリバース SSH トンネルを作成して、直接接続できないローカル ネットワーク内のコンピューターに、そのローカル ネットワークの外部からアクセスできるようにするプログラムに取り組んでいます。これには libssh ライブラリを選択しましたが、受信データをローカル アプリケーションに転送するために localhost へのチャネルを開くのに問題があります。SSH セッションを開き、ローカル コンピューターへのデータ転送を要求すると、問題なく動作するようです。ただし、localhost へのチャネルを開いて、ローカル アプリケーションとの間でデータを読み書きすることはできません。現在、ローカルホストへの接続を開こうとしている方法:
プログラムが終了しないため、SSH_OK が設定されています。ただし、ログには、接続が拒否されたことが示されています。また、ポート 5900 で実行されている VNC サーバーが動作しています。接続要求が着信していることがわかります。したがって、問題は localhost との接続に起因していると確信しています。アドバイスやヒントをいただければ幸いです。
Windows 10 で libssh 0.7.2 を使用し、msvc でコンパイルしています。
c++ - Makefile で libssh ライブラリをリンクする方法
テストプログラムをコンパイルしようとすると、次のエラーが発生します
私のmakeファイルには次のものがあります:
手伝ってくれてありがとう。(私はC/C++が本当に嫌いです...)
c++ - libssh を使用してクライアントの IP アドレスを取得する方法
libssh を使用して独自の ssh サーバー (ある種のハニーポット) を作成しています。接続したクライアントの IP アドレスをログファイルに保存したいと考えています。この IP アドレスを取得するにはどうすればよいですか? C++ でのプログラミング。よろしくお願いします!
c++ - C++ で単純な ssh 接続を確立する方法
ssh サーバー (ラップトップ) に接続する C++ プログラムを作成しようとしています。パテ経由で接続できるので、サーバーは問題ありません。私がこれまでに書いたプログラムはできませんが。私のコードではライブラリ libssh.h を使用しており、開発には Visual Studio 2015 を使用しました。エラーは次のとおりです 。ヘルプ。私が使用するコード: