問題タブ [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.
mongodb - SSH トンネル経由の MongoDB 接続
Linode に 2 台のサーバーがあり、ローカルの Linode 地域ネットワークを介して相互に接続できます。問題は、リージョン内の他の Linode もその IP を使用して接続できることです。1 つのサーバーは Python アプリケーションをホストし、もう 1 つのサーバーは MongoDB をホストします。
SSH トンネルを使用してデータベースに接続することをお勧めしますか? トンネルに障害が発生した場合はどうなりますか? SSH トンネルはまったく失敗することが知られていますか?
それとも、私は間違った方法で問題に取り組んでいますか? 私が考えることができる別の代替手段は、特定のソース IP からの接続のみを受け入れるように iptables を設定することです。
より仮説的な状況で考えています。おそらく、必要なのは DB パスワードだけです。私はコンピュータ セキュリティのコースを受講していますが、すべてが実際よりも脆弱に見えるようになっています。
linux - アーチ ボックスへの SSH トンネリング
テレビに接続された arch Linux を実行している raspberry pi があり、別の場所にある Ubuntu マシンから SSH 接続して、その画面でコマンドを実行したいと考えています。
コマンド SSH -Y root@ を実行して、テストとして xclock を開始してみました。ただし、次のエラーが表示されます。
プロトコルが指定されていません エラー: ディスプレイを開けません: :0
次に、arch マシンで「export DISPLAY=:0」を実行してみましたが、問題は解決しません。
私は X を正常に実行しており、テレビで見ることができます。ファイル /etc/ssh/ssh_config を編集して、X11 転送を許可しました。
私が間違っていることを知っている人はいますか?
どうもありがとう
mysql - SSH トンネル経由の MySQL 接続
2 つのサーバーAとBの間に SSH トンネルをセットアップしました。BにはMySQLサーバーがあり、これは機能します:
これはしませんが:
my.cnf には次の行がありますが:
さて、トンネルについて。以下を接続します:(A) localhost(9989) -> (B) localhost(3306)
しかし、(Aで、ポートが転送された状態で)私がするとき
私は得るERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
そして、私がするとき
私は得るERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)
その理由は何ですか?私は何を間違っていますか?
python - python-サーバーが一時的に使用できなくなった場合、クライアントからソケット接続を再開できません
離れた場所にある機器を監視するためにGraphiteサーバーを実行しています。サーバーからマシンへの「永続的な」sshトンネル(autosshが大好き)があり、ローカルポートをサーバーのローカルポートにマップしています。これはうまく機能し、データは手間をかけずに通過します。ただし、サイトへの不安定な衛星接続を使用します。これはかなり定期的に停止します。Pythonを実行している機器で「データクローラー」を実行しており、ソケットを使用してパケットをGraphiteサーバーに送信しています。問題は、リンクが一時的にダウンした場合(または、ほとんどの場合テストのためにサーバーが再起動した場合)、サーバーへの接続を再確立できないことです。エラーをトラップし、socket.close()を実行してから再度開きますが、接続を再確立できません。Pythonプログラムを終了して再起動すると、接続は正常に起動します。
linux - リバース SSH トンネリング ポートを制限するには?
ファイアウォールの背後にある複数のクライアントからの SSH 接続を受け入れるパブリック サーバーがあります。
これらの各クライアントはssh -R
、ポート 80 の Web サーバーから公開サーバーへのコマンドを使用して、リバース SSH トンネルを作成します。
リバース SSH トンネルの宛先ポート (クライアント側) は 80 で、送信元ポート (パブリック サーバー側) はユーザーによって異なります。各ユーザーのポート アドレスのマップを維持する予定です。
たとえば、クライアント A はポート 80 の Web サーバーをポート 8000 にトンネリングします。クライアント B は 80 から 8001 まで。クライアント C を 80 から 8002 に。
基本的に、私たちがしようとしているのは、各ユーザーをポートにバインドし、他のポートへのトンネリングを許可しないことです。
で SSH のフォワード トンネリング機能を使用している場合ssh -L
、設定を使用して、どのポートをトンネリングするかを許可できpermitopen=host:port
ます。ただし、リバース SSH トンネルに相当するものはありません。
ユーザーごとにリバース トンネリング ポートを制限する方法はありますか?
bash - ssh 経由でインタラクティブな bash スクリプトを呼び出す
クラスター内の各サーバーでのインストールと構成を自動化する「ツール」 (いくつかの bash スクリプト) を作成しています。
「ツール」はプライマリ サーバーから実行されます。それは、自分自身を (SCP 経由で) tar して他のすべてのサーバーに配布し、「バッチ」SSH 経由でコピーを untar します。
セットアップ中に、ツールはプライマリ サーバーから次のようなリモート コマンドを発行しますecho './run_audit.sh' | ssh host4 'bash -s'
。標準入力が既に使用されているため、インタラクティブな動作がある場合を除いて、このアプローチは多くの場合に機能します。
SSH 経由でリモート bash スクリプトを対話的に実行する方法はありますか?
出発点として、次のケースを検討してください。echo 'read -p "enter name:" name; echo "your name is $name"' | ssh host4 'bash -s'
上記の場合、プロンプトは表示されません。どうすれば回避できますか?
前もって感謝します。
ssh-tunnel - 送信IPが変更されるように、ssh経由でネットワーク接続を転送します
FTP サーバーなどのサービスは、すべてのユーザーが同じ外部 IP アドレスを持つ特定のネットワークからの接続のみを受け入れます。
このサービスに接続したいのですが、現在、許可されたネットワーク内にいません。
ネットワーク内のサーバーに ssh アクセスできます。
ssh を使用して、ローカル マシンから内部ネットワーク上のマシンを経由して最終サービスに特定のポートをトンネリングし、正しいポートを開いているクライアントが違いに気付かないようにするにはどうすればよいですか?
eclipse - コルク栓抜きを使用してプロキシ経由でEclipsegerritへのssh接続を確立できません
私の研究所では、プロキシを介したインターネットアクセスのみが制限されています。gerritコードレビューシステム(git.eclipse.org)へのssh接続を確立する際にいくつかの深刻な問題に直面しているため、Gerritに新しいパッチをプッシュできません。
上記のタスクを実行するために、私は最初に、ここに与えられた指示に従って、コルク栓抜きを使用してHTTP経由でSSHをトンネリングしようとしまし た:これは私がしたことです:
- 取り付けられた栓抜き
- ssh設定にProxyCommandを追加しました
- ファイル〜/ .ssh/proxyauthにプロキシユーザー名とプロキシ認証パスワードを追加しました
この後、githubに接続するsshのセットアップに成功し、githubリポジトリへの変更をプッシュ/プルしました。
しかし、sshを介してgerritに接続することはできません。正確なエラーは次のとおりです。
Linux(RHEL 6.3 Beta x86_64)とgit 1.7.11.1(最新)を使用しています。
私の〜/ .ssh/configの内容は次のとおりです。
git.eclipse.orgへのsshリクエストの詳細な(エラー)結果は次のとおりです。
私のgitリポジトリに設定されているリモートURLは次のとおりです。
数日前、インターネットに直接アクセスしたとき、上記のリモート設定を使用して、ssh経由で接続し、パッチをプッシュすることもできました。
known_hostsの内容を削除しようとしましたが、役に立ちませんでした。
これはgerritサーバーの問題ですか?
よろしくお願いします。
ssh - パブリック IP を介して、あるローカル ネットワークから別のローカル ネットワークに SSH 接続する
一方のローカル ネットワークには 1 台のコンピュータ (A) があり、もう一方のローカル ネットワークにはもう 1 台 (B) があります。それらのどれもパブリック IP アドレスを持っていません。両方の LAN ゲートウェイが制御不能です。しかし、パブリック IP アドレスを持つ VPS サーバーがあり、A と B の両方がこの VPS に接続できます。中間 VPS を使用して A から B への ssh トンネルを確立するにはどうすればよいですか?
ruby-on-rails - HerokuからリモートDBへのSSHトンネリング?
Herokuに小さなRailsアプリをデプロイすることを考えています。お金を節約するために、Herokuでホストされているデータベースではなく、外部データベース(無料でアクセスできる)をアプリで使用したいと思います。問題は、無料のデータベースがローカル接続のみを受け入れることです。Herokuからアクセスするには、SSHトンネルを介してアクセスする必要があります。
HerokuアプリがSSH経由でアクセスされる外部DBにデータを保持することは可能ですか?もしそうなら、どのように?
(ボーナスポイントについては、2番目の質問があります:これは良い考えですか?このスキームは、Herokuデータベースの費用を節約する一方で、すべてのデータベーストラフィックを暗号化する必要があることを意味します。私は想像しますこれにより、Web dynoの速度が大幅に低下し、処理できるリクエストの数が減ります。データベースに節約したお金は、dynoの追加料金に使い果たされるのでしょうか?これを行うことで、先に進む可能性がありますか?)