問題タブ [ssh-tunnel]

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 投票する
2 に答える
6386 参照

php - phpでexec()をssh 'hostname'コマンドと組み合わせて使用​​するには?

実行しようとしている簡単なスクリプトがあります。

このスクリプトの目的は、別のネットワーク サーバーでコマンドを実行することです。コマンド ラインから上記のsshコマンド (ダミー データを実際のデータに置き換える) を実行すると、次のようになります。ssh someotherhost ls -l /path/to/dir

適切な ls 行を出力します。ただし、同じコマンドを使用して同じディレクトリから上記のスクリプトを実行すると、下の 3 つの印刷行のいずれにも出力されません。ただし、上部のexec()withwhoamiは期待どおりに印刷されます。私の質問は、なぜ最初のコマンドが機能し、2 番目のコマンドが機能しないのですか?

ネットワーク化された 2 つのサーバーは内部ネットワーク上にあり、ssh ネットワーク キーのペアでセットアップされていることに注意してください。コマンドは機能しますが、php 内からではありません。

ご協力いただきありがとうございます。

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

java - Java で SSH トンネルを介してファイルを転送する

SSH/SFTP 接続を使用してリモート コンピューターからいくつかのファイルを取得する必要がありますが、問題は次のとおりです。

アプリケーションを実行するクライアント コンピューター (Windows を実行) は、リモート サーバー (同じネットワーク内で Unix を実行している 2 台目のコンピューター) を確認できるネットワークに接続されています。私はそれでSSH接続を行うことができますが、ファイルを含むコンピューター(Unixを実行している)はこのネットワークにありません.2番目のコンピューターで開いている動的トンネルSSHを介してのみ、これに接続できます。通常、構成にはPuTTYを使用しますこの接続があれば、リモート ファイルにアクセスできます。

次の図はアーキテクチャを表しています (ファイアウォールは 2 台目のマシンのようなものです)。

建築

これを自動的に機能させる必要があるため、Java と JSch ライブラリでいくつかのテストを行いました。コードは次のとおりです。

接続できましたが、 object を使用してコマンドを実行すると、session予想どおり 3 番目のマシンからではなく 2 番目のマシンからの答えが返されました。これを機能させるのに役立つ別のライブラリがあるか、または私が間違った JSch を使用しています。

0 投票する
3 に答える
3707 参照

java - Java で SSH トンネルを介してリモート コマンドを実行する

SSH 接続を使用してリモート コンピューターからいくつかのコマンドを実行する必要がありますが、問題は次のとおりです。

クライアント コンピューター (Windows を実行) は、サーバー リモート (同じネットワーク内の 2 番目の *nix コンピューター) を見ることができるネットワークに接続されています。私はそれで SSH 接続を行うことができますが、ファイルを含む (*nix を実行している) コンピューターはこのネットワークにありません。私は通常 PuTTY を使用して 2 番目のコンピューターで開いている動的 SSH トンネルを介してのみ、このネットワークに接続できます。この接続を構成します。次に、リモートファイルにアクセスできます。

次の図は、アーキテクチャを表しています (ファイアウォールは 2 台目のマシンのようなものです)。

建築

これを自動的に機能させる必要があるため、Java と JSch ライブラリでいくつかのテストを行いました。コードは次のとおりです。

接続できましたが、 object を使用してコマンドを実行すると、session予想どおり、3 番目のマシンからではなく 2 番目のマシンからの応答が返されます。これを機能させるのに役立つ別のライブラリがあるかどうか、または間違った JSch を使用しているかどうかを知りたいです。

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

mysql - MySQL の不明なサーバー ホスト (ssh トンネルと CLI 経由、ただしワークベンチ経由ではない)

SSH トンネル経由で mysql にアクセスしようとすると、次のエラーが発生します。

ただし、MySQL Workbench または通常の SSH CLI を介して試行すると、正常に動作します。私は何を間違っていますか?(このサイトで複数の関連するスレッドをスキャンしましたが、この動作を説明するスレッドはありませんでした。)

TMI:

私が持っているホストは名前であり、IP ではありません。

次のようにトンネルを開きます。

したがって、コマンドラインで(トンネルを介して)mysqlを呼び出します。

したがって、SSHコマンドライン(トンネルなし)でmysqlを呼び出します。

0 投票する
3 に答える
11831 参照

jmx - Putty SSH トンネルを介した VisualVM

リモートJavaアプリをプロファイリングしようとしていますが、実際にはゲームサーバーです。私のローカル マシン (JDK1.7.0_02 x64 を搭載した Windows XP x64) では正常に動作しますが、運用サーバー (JDK1.7.0_03 i586 を搭載した CentOS) では非常に奇妙な動作をします。

多くの検索を行った結果、このタスクには VisualVM を使用する必要があることがわかりました。したがって、VisualVM はローカル マシンでうまく動作しますが、ローカル マシンでハングすることはありません。実稼働環境で実際のペイロードを使用してプロファイリングする必要があります。引数を指定してリモート マシンで jstatd を開始しました

ポリシーファイルで

次に、このようにJavaアプリケーションを開始しました

アプリケーションと jstatd の両方が root 権限で起動されます。

VisualVM はリモート ホストに接続できませんでした。しかし、リモート ホストでは、VisualVM が実行され、リモート ホストが追加されている間、次のログが表示されます。

さらにグーグルで調べたところ、ssh トンネリングを使用する必要があることがわかりました。次の方法でパテを構成しました

http://www.advancedigital.ru/show/putty_config.jpg

およびVisualVMとして

http://www.advancedigital.ru/show/visualvm_config.jpg

上記の VisualVM の操作を追加すると、リモート ホストに接続されますが、スレッドの概要チャートしか表示されず、プロファイラーが非アクティブになっています。

両方のマシンの jvm は似ていて、同じプラットフォーム (x86 または x64) を持つべきであるといういくつかの推奨事項を見てきましたが、別のマシン (JDK1.7.0_03 x86 を使用した Windows 7 x86) からのプロファイリングを既に試しましたが、同じです。結果。

私もこれを試しましたが、再び同じ結果が得られます。 ssh 経由の VisualVM

このプロファイリングを機能させるにはどうすればよいですか?

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

mysql - SSH トンネル経由の MySQL リモート アクセス エラー

リモート マシンの mysql サーバーにアクセスするために、ローカル マシンに SSH トンネルを作成しました。すべて問題ありません。このエラーが発生した場合、トンネルは機能していますが、なぜこのエラーが発生するのですか?

エラーメッセージは次のとおりです。

2013 - 「初期通信パケットの読み取り」で MySQL サーバーへの接続が失われました。システム エラー: 0

Navicat (SSH トンネル) 経由でローカルからリモート マシンに接続したい場合にのみ、リモート マシンで mysql がこのようなエラーなしで動作します。

それに対する解決策はありますか?

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

php - PHP での ssh 接続を介したトンネリング リクエスト

たとえば、マシン A でマシン B に作成された ssh トンネルがあるとします。

PHP では、stream_socket_client() を使用してマシン A からマシン C へのリクエストを作成し、これらのリクエストが上記のトンネルを介して行われるようにする方法を教えてください。

つまり、要求は、マシン A で実行されている php スクリプトからマシン C に対して行われる必要がありますが、マシン C に対しては、要求がマシン B から来ているように見える必要があります (マシン C への接続は tls を使用して行う必要があります)。

または、sshトンネルなしでphpで直接同じ最終結果を達成する方法はありますか? これに関するヘルプは非常に高く評価されます

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

linux - トンネリングを使用して、到達不能なリモート リポジトリにアクセスする (Eclipse で)

私は次の設定をしています:

  • マシン 1:特定の svn リポジトリをホストし、プライベート ネットワークの下に存在します
  • サーバー:マシン 1 と同じネットワークに存在します (したがって、マシン 1 にアクセスできます) が、外部の ssh 接続に対しても開かれています。
  • マシン 2: (同じプライベート ネットワーク下にない場合) Serverにしかアクセスできない私のパーソナル コンピューター。

マシン 1に直接アクセスして、Eclipse で subversive を使用してホストされているリポジトリと対話できるようにしたいと考えています。サーバーにsshし、そこから端末を介してマシン1にsshできますが、これまでのところ、破壊的でそれを行う方法を見つけることができませんでした. どんな提案でも大歓迎です!

Ps .: すべてのシステムで Linux を実行

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

mongodb - Mongodb レプリカは、「初期起動」で汚染されたログとアービターを設定しました

MongoBD v.2.0.3 でレプリカ セットを実行しています。最新のステータスは次のとおりです。

私は次のことに困惑しています: 1) アービタは常に同じメッセージ "initial startup" と "optime" の 0:0 を報告します。「初回起動」とはどういう意味ですか? また、このメッセージが変わらないのは正常ですか? なぜ「optime」は常に「0:0」なのですか? 2) 傾斜列はどのような情報を伝えますか?

MongoDB のドキュメントに従ってレプリカをセットアップしましたが、データはセット全体でうまく複製されているように見えるので、問題はありません。

もう 1 つの問題は、すべての MongoDB ホストのログが次のようなエントリで汚染されていることです。

多くの接続が確立され、ドロップされているようです。それはレプリカ セットのハートビートですか?

追加情報

アービター構成

レプリカ セット メンバー構成

MongoDB インスタンスは異なるマシンで実行されており、完全に接続されたメッシュでセットアップされた SSH トンネルを介して相互に接続しています。

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

ssh - SSH トンネリングを簡素化して、MySQL ダンプを実行し、ファイルをローカル マシンに SCP したいと考えています。

サーバーのセットアップ (偽の IP)

  • ユーティリティ - 1.1.1.1 - パブリック IP での SSH アクセス
  • database2 - 1.1.1.2 - ユーティリティからのプライベート IP での SSH アクセス

半定期的に、database2 で mysqldump を実行し、それをローカル マシンにプルして、実際のデータでアプリをデバッグできるようにする必要があります。私の現在のプロセスは次のとおりです。

  • ユーティリティにsshします
  • database2 への ssh
  • mysqldump コマンドを実行する
  • database2 を終了します
  • ユーティリティへのscpダンプファイル
  • 終了ユーティリティ
  • ローカル マシンへの scp ダンプ ファイル

言うまでもなく、これは最適ではありません。おそらくトンネリングを介して、セットアップで使用できるより迅速な方法はありますか?