問題タブ [phpseclib]
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.
php - PHPSeclib接続を閉じるSSH
phpseclibを使用してサーバーにSSHで接続し、Pythonスクリプトを実行しています。これがphpseclibhttp : //phpseclib.sourceforge.net/です。つまり、Pythonスクリプトは、一度実行すると終了できないように作成されています。それを終了する唯一の方法は、sshセッションを終了することです。長い話なので、なぜそうなのか聞かないでください...しかし、ctrl + cはそれを終わらせず、セッションを終わらせる以外に何もしません。コマンドの実行が完了すると、phpseclibが自動的に接続を閉じることになっていることは知っていますが、技術的には、セッションを終了するまでコマンドの実行が完了しないため、sshセッションを終了するphpseclibの関数が必要です。phpスクリプトでexit()とdie()を使用してみましたが、スクリプトはまだコマンドを実行していると見なされ、そのコード行を超えないため、スクリプトがハングします(phpスクリプト)。(ブラウザまたはコマンドラインを介して)phpコードを終了しても、Pythonスクリプトは停止しません。誰かが助けてくれるといいですね。ありがとう!
php - SSH2を使って起動したプロセスのプロセスIDを取得する - phpseclib
私はphpseclib、Net_SSH2を使用しています。
このコマンドで開始されたサーバー/プロセスのプロセス ID を取得する必要があります。
これは、いつでも PHP スクリプトを使用して保存し、強制終了できるようにするためです。
php - phpseclib - cisco スイッチに接続できません
phpseclib を使用して cisco SF308 スイッチに接続しようとしています。このライブラリを使用して一部の HP スイッチに正常に接続していますが、何らかの理由で、cisco では機能しません。コードは次のとおりです。
ログイン失敗エラーメッセージで常に停止します。
NET_SSH2 ライブラリ自体にいくつかのデバッグ ステートメントを追加しようとしましたが、'NET_SSH2_MSG_USERAUTH_FAILURE' として定義されているエラー番号 51 で終了しました。
hp スイッチとこの cisco の違いの 1 つは、手動で接続する場合、hp は最初の ssh コマンドからユーザー名を取得するのに十分「スマート」であることです。たとえば、コマンド プロンプトでこれを行う場合:
次にEnterキーを押すと、ユーザー名として「ユーザー名」が選択され、パスワードの入力のみが求められます。cisco スイッチ (SF302-08 がモデル) では、ユーザー名とパスワードの両方を求めるプロンプトが引き続き表示されます。もう一度ユーザー名を入力してからパスワードを入力すると、スイッチに接続できます。
これが問題の原因かどうかはわかりませんが、2 つのスイッチ間で明らかに異なるものです。これを変更する方法があるかどうか、または最初の接続要求でユーザー名を取得する方法があるかどうかを確認するために、cisco のドキュメントを探しています。でも他におすすめがあれば教えてください!ぜひ聞きたいです。
ありがとう。
編集1
複雑なログを有効にして、失敗した場所の完全な詳細を取得しました。これが役立つ場合があります。これが私の最新のコードです:
これにより、次の出力が返されます。
したがって、スイッチに接続していますが、最初の投稿で述べたように、ユーザー名/パスワードの認証に失敗しています。
javascript - pidCrypt を使用して AES CBC を暗号化し、phpseclib で復号化する方法は?
Javascript ( pidCrypt AES CBC )を使用して短い文字列を暗号化し、 PHP ( phpseclib Crypt_AES CBC ) を使用して復号化する必要があります。
さまざまなライブラリ間に非常に多くの非互換性があり (それらの多くを試しましたが、ドキュメントが不足しているため使用を開始できなかったものもあります)、それらを理解し、克服しようとして頭を悩ませています (現在の「標準」は単に互換性がありません)。デバッグをカバーしておらず、意味不明または単にfalse
間違った使用法で a が返されます)。
pidCrypt AES CBC は、OpenSSL 互換のエンコーディングを使用していると述べています。
これまでのところ、pidCrypt からの出力が phpseclib で復号化されない理由がわかりません。
pidCrypt
phpseclib
phpseclib AES CBC モードの "Key Derivation: None" の例 (setPassword の代わりに setKey と setIV) も試しましたが、結果は同じでした。
phpseclib で上記の pidCrypt AES CBC 出力をデコードするにはどうすればよいですか?
また
上記の pidCrypt 出力を復号化できる phpseclib の代替手段はありますか (コード API があります。OpenSSL の使用例は許可されていません)。
Javascript セキュリティとネットワーク セキュリティに関する講義はご遠慮ください。これは、インターネット/ネットワーク スニッフィングから保護するためのものではありません。
php - phpseclibが署名の検証に失敗する
何が間違っているのかわからないか、考えていなかったのかもしれません。テキストに署名して、その直後に確認したいと思います。phpseclibのRSA署名アルゴリズムを使用しています。動作しますが、以前に署名したテキストを変更した場合に検証が失敗するかどうかをテストしたいと思います。元のテキストとは異なるため、テキストを検証する必要はありません。そこで、私はいくつかのコードを書き、それを10回テストしました。アルゴリズムは4回署名を検証し、6回失敗します。変じゃない?これが私のコードです。基本的に、公開鍵と秘密鍵のペアを作成し、phpseclibの関数を使用しました。
php - phpseclib - タイムアウト
まず、解決策が見つからずに約 4 時間検索したことをお伝えしたいので、ここで質問することにしました。
CygwinでWindowsを使用しています。
SSH コマンドをサーバーに送信して、いくつかのゲーム サーバー ファイルをダウンロードするように指示しました。この処理が完了するまでに最大 20 分かかる場合があり、PHP ページがタイムアウトになります。試してみましheader (Location: URL);
たが、サーバーからの応答を待っていて、タイムアウトします。だから..クライアントを別のページに強制し、残りのコードを続行させる方法はありますか?
よろしく、トム。
php - phpseclib - 長いコマンドがタイムアウトし、$ssh->write(); 動作しません
Cygwin を使用して Windows サーバーにコマンドを送信しています。数日前に質問をしましたが、回答がありませんでした。私は phpseclib に大きな問題があり、それは $ssh->write(); です。指図。$ssh->exec(); を使用しました。しかし、サーバーに送信されたコマンドはゲーム サーバー ファイルをダウンロードしていますが、これには最大 20 分かかる場合があり、しばらくすると、FastCGI タイムアウト設定を超えたため、php ページがタイムアウトします。それで、私は $ssh->write(); だと思いました。私のためにそれを解決できましたが、サーバーに送信しているコマンドは実行されません。使用しようとしている実行コマンドと書き込みコマンドは次のとおりです。
このコードは永久にロードされ、その後タイムアウトします。FastCGI のタイムアウト設定を最大の 1 時間に変更することで、これを解決しました。このコマンドはサーバー上で実行されます。
これは、送信しようとしているが実行されない書き込みコマンドです。
このコマンドはサーバー上で実行されません。エコーしたときに得られる応答は「1」です。
どんな助けでも大歓迎です!現在、オープンソースのゲーム サーバー コントロール パネルを作成しています。
前もって感謝します!
よろしく、トム。
php - PhpSeclib <-> BouncyCastle RSA
サーバー側でphpseclibを使用して公開鍵と秘密鍵のペアを生成しました
Java Bouncy Castle エンジンを使用して、クライアント側の公開鍵をインポートします。
ここに私の公開鍵
しかし、私はそれを行うことができます。いくつかの方法で実行しようとしましたが、常にエラーが発生します。
また
これらすべての方法でエラーが発生します。
Java Bouncy Castle エンジンを使用して公開鍵をインポートするにはどうすればよいですか?
php - JavaScriptRSA関数をPHP関数に変換する
JSベースのRSAファイルをPHPに変換する際に問題が発生しました。
JavaScript:
メインファイル:
使い方:
これをPHPに変換したいのですが、これまでに試したことは次のとおりです。
しかし、それは常に「失敗」を出力します、それの何が問題になっていますか?
キーはどのように見えるか:
CD5D11DFC04D457B864421AA483118EEA3A96C97E01ABFA4BAD356EC3CE6CA7E3F61665BAA1322D1D6C763D4463C1B41D69397281538D22302D8817CC10AEBDA96970DA4BA46BA79808E3B7BC3D38C1C2FD746E73EA5907F07C9588A1AF2C337FED1B7C8BB29304035420FB7EDE92511D1B07A63E21A5C36F132B556EE879113E88395ACCE9B987E478F8EA11B34634BCDA863DE7045EA9D7AB3240F406C572F36FDE1DB1534F92022B91DFBE23F980D0190D69953037EF9F38F98DA1A8028BE009CE82B979E8E427305802330111A78737D8E11C9CB132170CB34618941FA2AC2C754338886BFEE7DAD779036B292F9711DD9C765F37D42B6C0DC0BCCC83765
php - PHP SFTP シンプル ファイル アップロード
私はphpseclibを使用しています-SFTPクラスで、そのようにファイルをアップロードしようとしています-
ただし、ファイルは内部にアップロードされていませんがsome-dir
、1つ前のディレクトリにアップロードされています(開始ディレクトリに、ルートだとしましょう)。これは私を夢中にさせています.some-dir/
または/some-dir
またはのすべての組み合わせを試したと思い/some-dir/
ますが、ファイルはそこにアップロードされません.