タグ付けされた質問 「ssh-tunnel」

SSHトンネルは、SSHプロトコルを利用して、暗号化された接続を介して暗号化されていないデータを転送します。

2
MySQLへの安全な接続-MySQLのSSL対Stunnel対SSHトンネリング
MySQLサーバーに接続するPHPアプリケーションがあり、Webおよびアプリケーションサーバーとデータベース間の接続を保護したいと考えています。 ピーク時には、Webサーバーは何百ものデータベースへの同時接続を行い、多数の小さな読み取りと書き込みを実行します。これは最適ではないことを認識しており、これと並行してデータベース接続の数を減らすことに取り組んでいます。 現在、データベースへの永続的な接続が有効になっていないため、将来的にはこれとは別に実装するつもりです。 ハードウェアに関しては-MySQLサーバーはWebサーバーと同様に非常にチャンキー(16コア)です。それらは専用サーバーです。 私の質問は、データベースサーバーへの接続を保護および暗号化する最も高性能な方法を取り巻いています。 これまでの研究では、主なパフォーマンスオーバーヘッドはSSL接続のセットアップにあることが示唆されています。SSLが接続されると、パフォーマンスの低下はほとんどありません。そして、接続を保護する各方法について私が持っているものは次のとおりです。 MySQL SSL証明書-通常のSSLと同じように機能します。クライアント証明書を使用して、不正な接続を防止できます。既存のセットアップとの永続的な接続はありません。ファイアウォールの開いているポートでMySQLをリッスンさせる必要があります。 un。ポートsslトンネルへのポートをセットアップします。MySQLを再構成する必要はありません。悪意のあるMySQL接続の試行を防ぐために、通常のMySQLリスニングポートを閉じることができます。持続的接続はサポートしていません。不明なパフォーマンスヒット。 SSHトンネリング。クライアントとサーバーの間にSSHトンネルを作成します。MySQLを再構成する必要はありません。悪意のあるMySQL接続の試行を防ぐために、通常のMySQLリスニングポートを閉じることができます。永続的な接続をサポートしますが、これらは時々ドロップアウトします。不明なパフォーマンスヒット。 これは私が得ることができる限りです。ベンチマークの限界を認識しています-ベンチマークを実行した経験では、実際のトラフィックをシミュレートすることは非常に困難です。私は誰かがMySQLを保護する自分の経験に基づいていくつかのアドバイスを望んでいたのですか? ありがとう

3
複数のホップを介してSSHトンネルを介してデータをコピーする
問題の主な環境は2つあります。 開発とQA 各環境には2つのサーバーがあります。 ジャンプボックス アプリケーション・サーバー アプリケーションサーバーに接続するには、最初にジャンプボックスに接続し、次にアプリケーションサーバーにSSHで接続する必要があります。 ファイアウォールのおかげでいくつかのルールがあります: ジャンプボックス経由でアプリケーションサーバーに接続する必要があります アプリケーションサーバーはどちらのジャンプボックスにも接続できません ジャンプボックスは同じサブネット上にあり、互いに通信できます。 私たちの問題 には多くのコンテンツ(670 GB)がありDEVELOPMENT APPLICATION SERVER、これをに取得する必要がありQA APPLICATION SERVERます。 このデータをジャンプボックスにコピーすることは、必要なスペースがないため、オプションではありません。 いくつかの調査を行った結果、これらのサーバーを介して一連のトンネルを作成し、トンネルを介して1つのアプリサーバーから別のアプリサーバーにデータを直接ストリーミングできることがわかった。ただし、アプリケーションサーバーからジャンプボックスに接続できないという問題。 オプションはありますか?これは絶望的な状況になりつつあり、時間が非常に重要です。データをダウンロードして再アップロードする時間はありません。サーバー上のネットワークを介したコピーは、ギガビット接続であるため、すぐに実行されます。
14 linux  ssh  ssh-tunnel  tunnel 

6
SOCKSプロキシにSSHを使用している場合、DNS接続はそれを経由しますか?
ssh -D 8080 my serverSOCKSプロキシの作成に使用しています。次にlocalhost:8080、SOCKSプロキシとして使用するようにOS Xを構成しています。これを使用して、監視されずにインターネットにアクセスしています。 GoogleのDNSサーバー(8.8.8.8)を使用していますが、DNSクエリがSSHトンネルを通過していることを確認するにはどうすればよいですか?
14 ssh  ssh-tunnel  socks 

3
SSHを転送するためにSSHトンネルを設定するにはどうすればよいですか?
ルーターの背後にUbuntuを搭載したコンピューターがありますが、構成できません。ただし、そのコンピューターへのsshアクセスが必要です。sshトンネリングで可能だと思いますが、どうすればいいのかわかりません。トンネリングをセットアップしたい別のサーバーがあります。どうやってするの?それとも、この問題を解決する他のアイデアがありますか? 私は試した: ssh -N user@my_server -L 22/localhost/8090 しかし、それは言う: bind: Address already in use channel_setup_fwd_listener: cannot listen to port: 22 Could not request local forwarding.

2
PuTTYでリバーストンネルを開始する方法は?
Puttyを使用してサーバーとラップトップ間にトンネルを作成しようとしています。問題は、ラップトップにパブリックIPアドレスがないため、逆接続を作成する必要があることです。 ASCIIアートワーク: SERVER(PORT:6000) ----------> LAPTOP(PORT:7000) ただし、ラップトップにはパブリックIPアドレスがないため、次のことを行う必要があります。 SERVER(PORT:6000) <---------- LAPTOP(PORT:7000) ただし、すべてのデータはサーバーからラップトップに転送されます。
13 ssh-tunnel  putty 

5
多くのサーバーのSSHアクセスゲートウェイ
現在、Ansibleを介して3つのdevopを使用して、90を超える複数のサーバーを管理しています。すべてが順調に機能していますが、現在大きなセキュリティ問題があります。各devopは独自のローカルsshキーを使用して、サーバーに直接アクセスします。各devopはラップトップを使用しているため、各ラップトップが危険にさらされる可能性があるため、prodサーバーのネットワーク全体が攻撃にさらされる可能性があります。 アクセスを集中管理し、特定のキーのアクセスをブロックするソリューションを探しています。キーをbitbucketまたはgithubに追加する方法とは異なります。 私の頭の上から、ソリューションは1台のマシン、ゲートウェイから目的のprodサーバーへのトンネルになると仮定します...サーバ。その結果、ゲートウェイへのアクセスを拒否するだけで、数秒でdevopのアクセスを迅速かつ効率的に強制終了できます。 これは良いロジックですか?誰かがこの問題を阻止するための解決策をすでに見ていますか?

3
SSHトンネルを介して接続するときのMySQLアクセス拒否エラー
数か月間、ローカルテストサーバーで実行されているMySQLインスタンスにSSHトンネルを介して問題なく接続してきました。突然ですが、私が考えることができる変更はありませんが、サーバーは次のエラーでSequel Proからのログを拒否しようとしました: アクセスが拒否されたため、ホスト127.0.0.1に接続できません。 ユーザー名とパスワードを再確認し、現在の場所からのアクセスが許可されていることを確認してください。 MySQLは言いました:ユーザー 'root' @ 'localhost'のアクセスは拒否されました(パスワードを使用:YES) SSHトンネルを介してではなく、SSHを介してサーバーに直接接続すると、ターミナルからログインできます。この問題は、Sequel Proや自分自身に限ったことではありません。MySQLWorkbenchを介して接続すると、オフィスの他のユーザーと同じエラーが発生します。私はmysqladmin正気のためにパスワードをリセットしましたが、それは間違いなく問題ではありません。 さらに調べ始めたとき、Sequel Proで入力した「127.0.0.1」ではなく、「localhost」としてサーバーが報告しているエラーに気づきました。友人は、それはおそらく悪いエラー処理であると示唆しましたが、ローカルホストとMySQLの127.0.0.1の大きな違いを考えると、奇妙に思えます。 トンネリングの問題を回避するために、root @%へのアクセスを許可して、直接接続できるようにしました。ほとんどの場合、これは機能します。テーブルデータを表示したり、新しいデータベースを作成したりできます。唯一の問題は、ユーザーを作成するときにエラーが発生することです。 ユーザー 'root' @ '%'のアクセスが拒否されました(パスワードを使用:YES) 奇妙なことに、ユーザーは実際に作成されますが、それは単に付与の問題だと思います。繰り返しますが、rootとしてログインすると、端末から何でもできます。 トンネル接続と(おそらく)許可コマンドがアクセス拒否エラーを受信して​​いる理由を解明するのに役立つ人はいますか? 参考までに、MySQはバージョン5.6.16で、ほとんどがデフォルト設定で、Homebrewを介してMAC OS X Serverマシンにインストールされます。 更新 ルートが現在アクセスを許可されているホストのリストは次のとおりです。 mysql> select host,user from mysql.user where user='root'; +----------------+------+ | host | user | +----------------+------+ | % | root | | 127.0.0.1 | root | …

6
リバースSSHトンネル:ポート番号をサーバーに送信するにはどうすればよいですか?
クライアントとサーバーの2つのマシンがあります。 クライアント(企業のファイアウォールの背後にある)は、次のコマンドを使用して、パブリックにアクセス可能なIPアドレスを持つサーバーへのリバースSSHトンネルを開きます。 ssh -nNT -R0:localhost:2222 insecure@server.example.com OpenSSH 5.3 0以降で-Rは、1つを明示的に呼び出すのではなく、「使用可能なポートを選択する」ことを意味します。これを行う理由は、すでに使用されているポートを選択したくないためです。実際、同様のトンネルを設定する必要のあるクライアントが実際にはたくさんあります。 この時点での問題は、サーバーがどのクライアントがどのクライアントであるかを知らないことです。これらのクライアントの1つに(localhostを介して)接続し直したい場合、どのポートがどのクライアントを参照しているかをどのようにして知ることができますか? 上記の方法で使用すると、sshがコマンドラインにポート番号を報告することを認識しています。ただし、セッションを維持するためにautosshを使用したいと思います。autosshはおそらくfork / execを介して子プロセスを実行するため、実際のsshコマンドの出力はエーテルで失われます。 さらに、クライアントからリモートポートを取得する他の方法は考えられません。したがって、サーバー上のこのポートを決定する方法があるかどうか疑問に思っています。 私が持っているアイデアの1つは、何らかの方法で/ etc / sshrcを使用することです。これは、おそらくすべての接続に対して実行されるスクリプトです。ただし、ここで適切な情報を取得する方法がわかりません(おそらく、その接続を処理する特定のsshdプロセスのPIDですか?)ポインターが欲しいです。 ありがとう!
12 ssh  ssh-tunnel 

3
リモートSSHセッションからローカルマシンにSSHで戻る
私はSSHを使って(とにかく)かなり珍しいことをしようとしていますが、うまくいかないので、助けていただければ幸いです。 SSHを使用して、Macからリモートサーバーへの接続を確立したい。ここまでは順調ですね。トリッキーなビット、リモートサーバーへの接続が確立されたので、リモートサーバーBACKからローカルマシンへの接続を開始します。私は知っている、クレイジー。基本的に、これらのフープをジャンプして、リモートサーバーを参照し、ローカルマシン上のファイル情報をローカルマシンに送信して、ローカルマシン上のアプリケーションで処理できるようにする必要があります。うまくいけばそれは理にかなっています! 現時点では、リモートサーバーにログインしてからローカルマシンにSSHで戻ると、ターミナルはただそこに座って、-vでもエラーはありません。 $ SSH_CLIENT変数の出力を見て、どこに電話をかけるべきかを見つけようとしていますが、標準的なインターネット接続(静的IPアドレスなし)を使用しています。これが問題の原因であると思われます。 確立したもの:Mac(OS X 10.6.4)を使用しており、システム設定/共有でリモートログインが有効になっています。LAN上の別のマシンからMacにSSHしようとしても問題ありません。リモートサーバーから(ローカルマシンではなく)別のサーバーにSSHで接続しようとすると、問題なく接続できます。 そのため、上記の事実から、ローカルマシンとリモートマシンのファイアウォールなどに関して明確であると思うようになります。 私はここで非常に明白な何かを見逃しているに違いないと確信していますが、私の人生の間、私はそれを手に入れることができません。 適切な方向へのヘルプ、リンク、または一般的なナッジは大歓迎です!
12 ssh  ssh-tunnel 

2
ポートトンネリングを使用して、ネットワーク要塞を介してプライベートデータベースインスタンスに接続するにはどうすればよいですか?
私はパブリックにアクセスできるネットワーク要塞とexample.compute-1.amazonaws.comプライベートのpostgresデータベースインスタンスを持っていますpostgres.example.us-east-1.rds.amazonaws.com:5432 を使用して要塞にsshできます $ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com 次に、要塞に着いたら、次のようにsshトンネルを作成します。 $ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com 次に、localhostを使用して要塞からデータベースに接続することにより、トンネルが機能することを確認できます。 $ psql -p 5432 -h localhost -U postgres ただし、データベースにリモートで接続することはできません(要塞にいることなく)。 $ psql -p 5432 -h example.compute-1.amazonaws.com -U postgres psql: could not connect to server: Connection refused Is the server running on host "example.compute-1.amazonaws.com" () and …

3
バックグラウンドでautosshが機能しない
autossh経由でトンネルを設定しました。 これは動作します: autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com バックグラウンドでautosshを実行したいと思います。-fオプションを使用して簡単に思えます。 ただし、これは機能しません。 autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 autossh@myhost.com Autosshはバックグラウンドで正常に実行されますが、ssh接続は毎回失敗するようです。/ var / syslogに次の複数の発生が表示されます。 autossh[3420]: ssh exited with error status 255; restarting ssh 私は何を間違えていますか?ワイルドな推測は、キーファイルを介した認証と関係があることです。これをデバッグするにはどうすればよいですか(sshオプションに-vを追加しても、どこにも記録されないようです)。 編集: -yオプションを使用していくつかのsshログを取得しました /usr/bin/ssh[3484]: debug1: Next authentication method: publickey /usr/bin/ssh[3484]: debug1: Trying private key: …
12 ssh  ssh-tunnel 

1
localhostのみをリッスンするようにVSFTPDを構成できますか?
FTPを必要とし、SFTPを実行できないレガシーアプリがあります。 私の解決策は次のとおりです。 VSFTPDを使用してFTPサーバーを配置する localhostからのみポート21接続を受け入れるようにファイアウォールを構成します レガシーアプリを使用してクライアントからSSH接続をセットアップする SSHを介してFTPをトンネルする VSFTPDを設定して、ファイアウォールに加えて、localhost以外の場所からの接続を無視するように構成できるかどうかは疑問です。ベルトとブレーサーの両方。
11 ssh  ftp  sftp  ssh-tunnel  vsftpd 

5
バックアップ用の一時的なSSHトンネル
リモートサーバー上のいくつかのMySQLスキーマのコンテンツを自動的にバックアップするシェルスクリプト(現在はbashを使用)を記述したいと思います。リモートサーバーはSSHアクセスのみを許可するようにロックダウンされているためmysqldump、さまざまなスキーマに対して実行する前にSSHトンネルを作成する必要があります。 問題なくトンネルを作成できますが、データベースのダンプが完了した後で自動的にトンネルを閉じたいと思います。 現在、私のスクリプトはこれを行っています: /usr/bin/ssh -T -f -L 4444:127.0.0.1:3306 -l remoteuser 208.77.188.166 sleep 600 /usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db1 | gzip > /root/backups/snapshot/db1.sql.gz /usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db2 | gzip > /root/backups/snapshot/db2.sql.gz /usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword …

4
sshトンネルエラー「ssh_exchange_identification:接続がリモートホストによって閉じられました」
オフィスマシンからホームマシンへのsshトンネルを使用しようとしていますが、使用しようとするとエラーが発生します。 私がやっていることは次のように1つのシェルを開始することです: ssh -gL 12345:my.home.domain:22 my.home.domain これは私に適切なシェルを与えています、問題ありません。私が通常行うことは、次のように、このオフィスマシンを介してホームマシンにSSHで接続することです。 ssh -p 12345 127.0.0.1 これは、先週まで、ホームマシンに新しいシステムをセットアップする(UbuntuからDebianに切り替える)まで、私にとっては常にうまくいきました。エラーが発生します。私はまだ最初のssh接続を開くことができますが、そのトンネルを使用しようとすると、(オフィスマシンで)次のエラーが発生します。 ssh_exchange_identification: Connection closed by remote host また、それが発生すると、私がトンネリングを設定したオープンシェルが次の行を生成します。 channel 3: open failed: connect failed: Connection timed out その時点で、私は途方に暮れています。さらに情報が必要な場合は、投稿させていただきます。 =============それにさらに============== さらにいじくり回した後、さまざまなポートでTelnetを実行しようとすると、サーバー(私のホームマシン)から別の応答が返されることがわかりました。私が試した場合: telnet my.home.domain 22 私はこれを取り戻します: Trying <my ip address>... Connected to <my domain>. Escape character is '^]'. SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze2 これは私が期待することです。トンネルをセットアップしてからtelnet接続すると、次のような応答が表示されます。 …
10 ssh-tunnel 

6
中間サーバーを介したリモートデスクトップ用のSSHトンネルパートII
リモートデスクトップを介してリモートデスクトップを実行するために、中間サーバーを使用して2つのSSHトンネルを構成する方法を以前に質問し、それを機能させることができました。今、私は同じマシンを使用して同じことをしようとしていますが、逆の順序です。ここに設定があります: ファイアウォールの背後にあるプライベートネットワーク内のWindows 7 PC。 PCにアクセスできるパブリックアクセスLinuxサーバー。 PCからリモートデスクトップを実行したい自宅のWindows 7ラップトップ。 ラップトップでPuttyを使用して、それからLinuxサーバーへの逆トンネルを作成しますR60666 localhost:3389。 PCでPuttyを使用して、PCからLinuxサーバーへの通常のトンネルを作成しますL60666 localhost:60666。 LinuxサーバーにSSHで接続し、telnet localhost 60666を実行すると、ここで受け取ったデバッグのヒントで説明されているように、予期した出力が生成されるようです。 リモートデスクトップをPCからラップトップに接続してみますlocalhost:60666。ユーザー名とパスワードの入力を求められ、[OK]をクリックすると、ラップトップの現在のセッションがロックされ(デスクトップではなくラップトップのウェルカム画面が表示されます)、リモートデスクトップ画面に「ようこそ」メッセージが表示されます。真っ黒になるだけです。切断されず、エラーも発生せず、リモートデスクトップ画面でアクションを実行できません。Windows XPラップトップで同じ設定を試しましたが、同じ現象が発生しています。60666以外のポートも使用しようとしましたが、何も変わりませんでした。誰かが私が間違っていることを知っていますか? 更新:@jwindersで指摘されているようにtelnet PC 3389、Linuxサーバーから直接実行することはできません。Windowsファイアウォールには、ポート3389でのすべての接続を許可するルールがあるため、何がそれをブロックしているのかわかりません。幸い、LinuxマシンからPCへのSSHトンネルを作成できますssh 3389:localhost:3389 'domain\user'@PC。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.