問題タブ [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.
git - SSH トンネル経由で gitosis サーバーに接続する
このように、MacbookにSSHトンネルをセットアップしました...
したがって、localhost:22222 に ssh でき、ファイアウォールの背後にある gitosis-server に到達します。
ローカルの id_rsa.pub ファイルを作成し、それを gitosis サーバー (Centos5 を実行) にコピーし、次を使用して gitosis にインポートしました...
だから...私はこのコマンドがうまくいくはずだと思っています...
ただし、パスワードを要求することはありません....公開鍵が機能している必要がある場合。
ファイアウォールの背後にある gitosis サーバーまで git を機能させるためのアイデアはありますか?
ありがとう、
マット
編集 - SSH 試行からのデバッグの追加
「ssh -vvv gitosis@gitosis-server」というコマンドを実行しました。デバッグが戻ってきましたが、私のアイデンティティが気に入らないようです。
編集2
OK...間違いなく悪いキーです。すべてのキーを再度確認したところ、もちろん、gitosis-server がauthorized_keys ファイルに不正なキーを保持していることがわかりました。
debug1: userauth-request for user gitosis service ssh-connection method none debug1: 試行 0 失敗 0 debug1: PAM: 「gitosis」の初期化中 debug1: PAM: PAM_RHOST を「firewall.domain.com」に設定 debug1: PAM: PAM_TTY を「ssh」に設定 debug1: userauth-request for user gitosis service ssh-connection method publickey debug1: 試行 1 失敗 1 debug1: pkalg/pkblob が受け入れられるかどうかをテストします debug1: temporary_use_uid: 102/103 (e=0/0) debug1: 公開鍵ファイル /var/lib/gitosis/.ssh/authorized_keys を試しています debug1: restore_uid: 0/0 debug1: temporary_use_uid: 102/103 (e=0/0) debug1: 公開鍵ファイル /var/lib/gitosis/.ssh/authorized_keys2 を試しています debug1: restore_uid: 0/0 FIRE.WALL.IP.ADDRESS ポート 52453 ssh2 からの gitosis の公開鍵の失敗
gitosis サーバーの authorized_keys ファイルを詳しく調べてみましたが、正しくありませんでした。ワークステーションから /tmp にコピーした公開鍵ファイルを再確認したところ、正しいものでしたが、authorized_keys にあるものとは異なりました。サーバー上のauthorized_keysファイルを削除し、「sudo -H -u gitosis gitosis-init < /tmp/id_rsa.gitosis.pub」を再実行しました。authorized_keys ファイルをもう一度確認しましたが、それでも間違っていました。
私は、authorized_keys を編集して正しいキーを追加することで、手動で更新しました。その後、1 回か 2 回、トンネルを介してワークステーションから動作するようになりました。その後、以前のように機能しなくなりました。私はgitosisサーバーのauthorized_keysファイルに戻りましたが、確かに....gitosisはそれを機能しない古いキーに戻しました。
なぜこれをやっているのですか....悪い公開鍵に戻っています....上記のコマンドで追加しようとした後でも...変更に失敗しました....その後、手動で変更しました....これは機能しましたが、git は再び悪い状態に戻りました。
gitosis は、最初に入れたキーを記憶し続けているようなものです....そして、それを正しいキーに変更させてくれません。
もどかしい...
マット
java - SSH トンネルを使用した Java アプリを実行する 2 つのノード間の通信
クラス A ネットワーク内の一連のノードでアプリケーションを実行していますが、そのネットワーク内でクラス B アドレスを持つ唯一のノードにログインした場合にのみ、自分のシステムからそれらにアクセスできます。
ただし、クライアント部分 (GUI などすべてを含む) は自分のシステムでしか実行できないため、クラス A ネットワークと通信する何らかの方法が必要です。クライアント (私のシステム) は、サーバーへの単純な TCP ソケットをセットアップしようとします (内部ネットワークの端で、ServerSocket を使用) が、接続タイムアウト例外が発生します。SSH ポート 22 のみが開いているため、SSH トンネリングを使用してシステムから内部ネットワークにパケットを送信することを勧められました。
少しググった後、次の方法でSSHトンネルを設定できることがわかりましたが、Java内からこれを使用してソケットを設定するにはどうすればよいでしょうか? ありがとう!
編集: JSch を使用してシステムから内部ノードへのポート転送を設定しましたが、内部ノードごとに個別のトンネルを設定することなく双方向にする方法はありますか? (ノードは応答に同じ TCP 接続を使用していませんが、ラップトップのポート 2222 への新しい接続をセットアップしています。)
java - Java の単純な SSH トンネル
Java で SSH トンネルを作成したいと考えています。別の投稿でかなりの数の Java SSH ライブラリに気付きました。各オプションを掘り下げる前に、誰かがどのようにそれを行ったかのコード スニペットを提供してくれるか、少なくともどのクライアント ライブラリが最適かを教えてくれるかもしれません。
トンネリングだけが必要です。ファイル転送や端末エミュレーションなどは必要ありません。クライアントの localhost アダプタで動作するようにサーバー上のポートを転送できる単純な数行のコードはありますか? クライアントとサーバーの両方が Java であることが理想ですが、ここではクライアントだけで解決します。
python - Python 3 - プロキシ経由で Web サーバーからファイル オブジェクトを取得する (認証なし)
私は非常に単純な問題を抱えていますが、これについて具体的に何も見ていないことに本当に驚いています。Python3を使用して、プロキシサーバー(認証を必要としない)を通過するWebサーバーでホストされているファイルをコピーするためのベストプラクティスに従おうとしています。
私はpython 2.5を使用して同様のことを行いましたが、ここでは本当に不足しています。これを、このネットワーク上の将来のスクリプトで再利用できる関数にしようとしています。提供できる支援をいただければ幸いです。
私の問題は、プロキシの使用を組み込む方法(認証なし)に関する明確なドキュメントなしで、urllib.requestまたはhttp.clientを使用しようとすることにあると感じています。
私はここを見て、髪を抜いてきました... http://docs.python.org/3.1/library/urllib.request.html#urllib.request.ProxyHandler http://docs.python.org/3.1 /library/http.client.html http://diveintopython3.org/http-web-services.html
このstackoverflowの記事でさえ: Proxy with urllib2
しかしpython3ではurllib2は非推奨です...
oracle - ssh トンネル経由で oracle db を使用します。エラー「ORA-12541: TNS: リスナーがありません」
こんにちは、データセンターからトンネル経由で Oracle DB にアクセスする際に問題が発生しました。
1 台のマシンが外部からアクセス可能 (私はその IP を dc として /etc/hosts ファイルに入れています) と内部の Oracle DB を備えたかなり標準的なデータセンターがあります。内部ネットワークの Oracle データベースの IP アドレスは 192.168.1.7 です。
トンネルを作成するには、次のコマンドを使用しています。
そしてもちろんそれは機能します(何かが通過しているかどうかを確認するために debug -vv を追加することもあります)。
ここで難しいのは、Oracle への接続です。インスタントクライアント 11.2 をインストールしました。私の tnsnames.ora は次のようになります。
そして、コマンドを使用して接続しようとすると:
トンネル経由で接続を開始します (ssh デバッグで確認できます) が、次のように伝えられません。
イントラネット上でこの同じコマンドを実行しようとすると、機能します (明らかに唯一の違いは、tnsnames.ora HOST には 192.168.1.7 があり、localhost ではないことです)。
また、簡単なコマンドラインを使用しようとしました:
または代わりに
しかし、何も役に立ちませんでした:)
助けや提案をいただければ幸いです。それを可能にするsshフラグがありませんか?
おそらくログファイル:
ここで、velvet はローカル ホスト名、johndoe はローカル ユーザー名です。なんで相手に送られるの?
アップデート:
データセンター内からもう少し調査すると、次のようになります。-最初の接続はポート1521に接続されます-しかし、sqlplusはポート番号> 3300にリダイレクトされます。私が持っていた)-トンネルを介して接続しようとすると、sqlplusはlocalhostに接続しようとし、明らかに失敗します
そのため、「リスナーがありません」というエラーは、おそらくこれらのポートをリダイレクトしていないことが原因です。特定のポートを強制的に使用する方法 (おそらく tnsnames.ora ファイルのオプション) はありますか?
java - その場でtcpストリームを書き換える:それはどれほど難しいですか?上記のストリームのダンプを取るのはどうですか?
tcpストリーム「トンネル」(SSHがデフォルトで処理するものと同様)を書き込もうとしていますが、1つの例外を除いて、流れるときに特定の情報を書き直す必要があります。
そこに似たようなものがあると確信していますが、私はそれを見つけることができませんでした。私は3つの主な質問があります:
- 観察のためにtcpストリームを保存する簡単な方法はありますか?(つまり、netcat、ssh -r / -l / -Dを使用するか、他のユーティリティを一緒に使用します)
- その場でストリームを書き直すのはどれくらい難しいですか?
編集:書き換えられる情報は、単なる初期認証になります。
web-services - SSHトンネルを介してWebサービスにアクセスするにはどうすればよいですか?
質問があります。私は閉じたネットワークに座っており、DMZ内のWebサービスにアクセスする必要があります。WebServiceは、閉じたネットワークのファイアウォールによってブロックされている非80 TCPポート(1234と呼びます)を介して利用可能になります。
ただし、私はDMZ内のサーバーにSSHアクセスできます(これを「dmzhost」と呼びましょう)。そのため、解決策は次のようなトンネルを設置することだと思いました。
その後、URL http:// localhost:4321を介してWSエンドポイントにアクセスできるようになります。運がない。ウェブブラウザで試してみたところ、メッセージが表示されました
ここのどこかでポイントを逃したと思います。誰かが私が間違っていることについての手がかりを持っていますか?
ありがとう!
python - Python から SSH トンネルを発信する際の問題
目的は、サテライト サーバーと中央のレジストリ データベースの間に n 個の ssh トンネルをセットアップすることです。サーバー間で公開鍵認証を既に設定しているので、パスワードのプロンプトなしですぐにログインできます。それで ?パラミコを試しました。まともなように見えますが、基本的なトンネルをセットアップするだけでもかなり複雑になります。私は Autossh を試してみましたが、動作中のトンネルをセットアップしてから 2 分後に停止します。奇妙なことです! Supervisord または monit でデーモン化および監視できる簡単なコード スニペットを誰かが手伝ってくれることを願っています。
svn - 自宅から企業ファイアウォールの背後にあるSVNサーバーに接続する
自宅から企業ファイアウォールの背後にあるSVNサーバーに接続するようにTortoiseSVNを構成するにはどうすればよいですか?
これは私が答えを見つけるのに苦労している質問です。これが私が持っていないものです:
- 企業イントラネットへの公式VPNアクセス。
- SVNサーバーの制御。
- イントラネットの制御。
- IT部門からの協力。
これが私が持っているものです:
- オフィスのデスクにあるコンピューターを完全に制御できます。
- ウィルパワー
これは私が試したもののショットであり、失敗したようです(人の名前、場所、機械は無実を保護するために変更されました):
- Wippienを使用して、自宅のコンピューター(NG-ATHOME)からデスクの仕事用コンピューターへのゼロ構成VPNをセットアップしています。これは機能します。両方のマシンとの間でネットワークに完全にアクセスできます。
- NG-WORKBOXでWindows用のOpenSSHを実行しています。
- NG-ATHOME上のPuTTYをNG-WORKBOXに接続して、ポート1080を介して動的にトンネリングします。任意のWebブラウザーで確認できるため、SOCKSプロキシが機能しています。これはシナリオの問題ではないと自信を持って言えます。
- 127.0.0.1:1080でプロキシを使用するように構成されたNG-ATHOMEでTortoiseSVNを使用しています。「svn:// NG-SOURCE / PonyRepository」を押しようとすると、エラーが発生します:ホストに接続できません。NG-SOURCEに問題なくpingできます。
なぜSVNが機能しないのですか?
うーん、SVNはSOCKSが好きではないのではないかと疑っています。誰か提案がありますか?
connection - 接続の多重化
別のリモートマシンへのTCPまたはUDPタイプの接続を開いたとします。この接続がある場合、VPN(VPNではない)のように、この接続を介して仮想的に複数の接続を許可できますか?複数のアプリケーションがリモートマシンで実行されており、これらのアプリケーションにアクセスしようとしているということですが、そのような機能をサポートする多重化メカニズムまたは概念はありますか?