問題タブ [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 に答える
2452 参照

c - libsshとclangを使用したSSHトンネル

libsshSSHトンネルを開くために使用しようとしています。

基本的に、私は途中で2つのホストを持っています。まず、最初のホストにSSHで接続する必要があります(この部分はすでに実行しています)。次に、そのホストから2番目のホストにSSHで接続する必要があります。

これはで可能libsshですか?

この関数を使おうとしましssh_channel_open_forwardたが、これはTCPセッションのみを開き、sshセッションは開きません。

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

c++ - libssh で makefile を実行するには?

libssh (libssh.org) に問題があります。リモート サーバーでメイクファイルを実行する必要があります。コマンド「channel_request_exec」でそれを行います:

Makefile はルートにあります。

コマンド「make」を送信し、エコーを受信します。

しかし、何も起こりません (コンパイルは実行されません)。

私がパテで作った場合:すべてがうまくいきます。エコー:

これを解決するにはどうすればよいですか?

0 投票する
0 に答える
5241 参照

c++ - libssh をサーバーとして使用するには?

私は、Web アプリケーションと通信するサーバー アプリケーションの Windows バージョンに取り組んでいます。Web アプリケーションはもともと Linux サーバーで動作し、Linux に SSH 接続してサーバー上でコマンドを実行していました。私の計画は、Qt を使用して C++ サーバーを構築し、Web アプリケーションからコマンドを受け取り、それらを処理してそれらのコマンドの Windows バージョンを実行することです。

たとえば、Web アプリケーションが最初に「echo $HOME」を送信し、ホーム ディレクトリを受信した場合、Windows サーバーで同じ SSH コマンドを受信し、それを処理して、サーバーがホーム ディレクトリ用に構成されているかどうかを確認します。 C:\Example\ の場合、C:\Example\ が返されます。私の目標は、Web アプリケーションにほとんど変更を加えず、代わりに Windows サーバーで Linux SSH コマンドを処理して、Windows と同等の処理を行うことです。

これまで libssh を使用したことはありませんでしたが、いくつかの検索で見つけて、SSH2 サーバーとして使用できることを読みました。基本的にここでの私の質問は、libss2 を使用して Qt プロジェクトにサーバーを作成し、この Web アプリケーションが SSH でコマンドを送信できるようにする方法です。

libssh よりも優れた方法があると思われる場合は、お知らせください。これは私が検索して見つけたものです。

更新: サーバーの例のこのコードを見つけました。https://github.com/substack/libssh/blob/master/examples/samplesshd-tty.c

正直なところ、私はそれで非常に混乱しています。数時間グーグルでコードを調べてみると、おそらくそれを分解して何が起こっているのかを理解できるでしょう。しかし、各ステップで何が起こっているのかを主に説明してくれる人がいれば、それはありがたいです。

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

ssh - 任意のサーバーと通信する必要があるプログラムは、SSH v1のサポートをどのくらい必要としますか?

プログラムに組み込まれているSSHコードを使用して、ユーザーが選択したサーバーに接続する必要があるクロスプラットフォームのC++プログラムである新しいプロジェクトを開始しています。libsshとの間で決定しようとしていlibssh2ます。(ライセンスは問題ではありません。libsshのLGPLは問題ありません。)

libssh2このページから、1つの可能な例外を除いて、進むべき道であるように思われます。SSHv1はサポートしていません。最近、SSHv1しかサポートしていないサーバーの割合がわかりません。誰かがこの分野での経験がありますか、またはそれに答える何かを私に指摘することができますか?

あるいは、SSH v1とv2の両方をサポートするSCP機能を備えた別のSSHライブラリを誰かが指摘できますか?スレッドセーフで、非ブロッキング操作もサポートできるものが望ましいですか?

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

c++ - libssh を使用して「enter」をリモート プロセスに送信する

libssh を使用して端末にログインし、ncurses アプリケーションを実行しています。

このチュートリアルに従って、一度に 1 文字ずつ送信します: http://api.libssh.org/master/libssh_tutor_shell.html

ncurses アプリケーションは getstr() でユーザー入力を待ちます。私の問題は、入力を書き込んで Enter キーを押すと、libssh が入力信号ではなく「\n」を送信するため、curses アプリケーションがクラッシュすることです。

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

c++ - libssh は sftp サーバー機能をサポートしていますか?

私のプロジェクトでは、サーバーと複数のクライアントの間でファイルを転送する必要があります。クライアントとサーバー間の通信は暗号化する必要があり、ユーザー名とパスワードによる認証が必要であり、プロトコルは共通のものである必要があるため、sftp について考えました。

ssh には、libssh と libssh2 の 2 つの c/c++ ライブラリがあり、最初のライブラリだけがサーバー機能も提供します。

サブモジュールsftpを含むクライアントモジュールが十分に文書化されている libssh の API ドキュメントがあります。しかし、サーバーAPI については、基本的な ssh 関数しか見つかりません。

libssh はサーバー側の sftp サポートを提供しますか?

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

windows - libssh ライブラリを使用していますが、ssh_scp_read 関数に問題があります

今、サーバー (Linux) からホスト (Windows) にファイルをダウンロードしようとしています。うまく機能しているように見えますが(他の機能)、サーバーからファイルを読み込もうとしているときです。ファイル内のデータが正しくありません。

例) サーバー テキスト ファイル:

ファイルの読み取りとバッファへの保存:

小さなサイズのテキストファイルを確認しました。うまく機能していました。ただ、テキストファイルが以前より大きくなってしまい困っています。

これが私のコードです。

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

bash - rbash への ssh 接続で .profile ファイルが読み込まれない

libsshを使用してリモート マシンに接続し、コマンドを実行しています。

接続は正常に機能しますが、問題は次のとおりです。離れたマシンでは、接続中に実行されている bash は rbash です。送信ps | grep ungreppable_phraseして他のマシンで実行すると、出力は次のようになります。

(そのリストからgrepコマンドを削除しました)

したがって、明らかにrbash、リモート シェルです。

現在、rbash の man ページには、rbash の制限が適用される前に起動ファイルが読み込まれることが示されています。したがって、起動ファイル (/etc/profile、~/.bash_profile、~/.bash_user または ~/.profile) のいずれかに の定義が含まれているPATH場合、コマンドを実行するとその定義が表示されるはずです。特に、 のディレクトリの 1 つにいくつかの実行可能ファイルがあれば、PATHそれを実行できるはずです。

私の .profile ファイルからの行は次のとおりです。

どうにか、そこに入ることができましlsた。実行可能ファイルが含まれています。

私の ~/.profile は最後にソースされるファイルであり、別のファイルのソースは含まれていません。の再定義もありませんPATH

しかし、「コマンドが見つかりません」というエラーが表示されます (または、echo $? は 127 を返します)。

リモートでログインしたときに .profile ファイルが提供されていないように見える理由を誰か教えてもらえますか? libssh のコードが原因ですか? 上記のgrepでは表示できないrbashに渡される特別なオプションがあるかどうかを調べるために、それを調べようとしています..

(rbash モードなので、単純に PATH の変更を要求することはできません)

どうもありがとう、パスカル

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

c - サーバーでLibsshリモートコマンドが実行されない

関連するドキュメントチュートリアルを読み、同様の質問を見つけましたが、まだ先に進むことができません。これが一般的な質問である場合は、事前にお詫び申し上げます。いろいろ調べたのですが、何を探しているのかよくわかりませんでした...

Debian で C 用の Libssh を試しています。

これにより、SSH_OK が返され、コマンドが正常に送信されたことが示されます。同様の質問から私が理解しているように、これはリターンがコマンドの「送信」の成功をリッスンするためです。return は、正常に実行されたかどうかをリッスンしません。

私の質問は、どうすればいいですか:

  • コマンドを実行します (上記の関数では、現在は実行されず、コマンドを送信するだけです)
  • その実行を聞く
  • 返された出力を印刷しますか?

ssh_channel_read() 関数を認識していますが、コマンドが実行されないため、通常は出力が得られます

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

c++ - C++ Libssh - LAN 経由のサーバー/クライアント ファイル転送の例

ここの初心者は基本的に、LAN経由でファイルとフォルダーを転送するサーバー/クライアントファイル転送アプリケーションを構築しようとしています。C++ を使用して調査できるサンプル アプリケーションはありますか? Libssh の例はすべて C で書かれており、私はすでに調べました。また、libssh と libssh2 はどうなっているのですか?