問題文:VPN / トンネリングなどのセキュリティで保護されたネットワーク経由で SSH 経由で Digital Ocean Cloud VPS に接続するにはどうすればよいですか?
詳細なコンテキスト:
1.私のサーバー:eth0 にパブリック IP、eth1 にプライベート IP を持つ CentOS 7 Droplet
2。SSHクライアント(SSHキー経由):Windows 7 または VirtualBox CentOS 7 VM 上の MobaXterm
状況? 自宅のコンピュータのパブリックWAN IPアドレスは、ルーターを再起動するたびに、またはDHCPポリシーに基づいて変更されます(どちらか早い方)
VPS のファイアウォールで恒久的にホワイトリストに登録されている IP または FQDN に接続するメカニズムを設定するにはどうすればよいでしょうか (AWSセキュリティグループに似たもの) を実行してから、VPN 専用に 2 番目の Linux VPS を設定せずに SSH セッションを開始するにはどうすればよいでしょうか。以下のフローを見ると、かなり明確になるはずです。
SSH Clients from my PC(_Random Src IPs_) --> VPN / Tunnel (_1+ IPs white-listed in VPS Firewall_) -->[SSH] --> VPS
不可能なオプション
- 同じVPS上のVPNサーバー(単一障害点となる)
- 2台目のLinux VPSのセットアップジャンプボックス | バスティオンホスト最初の VPS は実稼働グレードのサーバーではないため、2 つの VPS を維持するのは経済的に実現可能ではありません。
可能なオプション
- 個人使用に無料で利用できる信頼性の高い VPN サービス。
- SSH トンネリングまたはその他の代替手段。
さらに詳しい情報が必要な場合はお知らせください。また、これを達成するための理想的な方法を教えてください。
答え1
あなたは出来るTorを介してSSH接続をトンネルする。
そのためには、SSH サーバーを localhost のみでリッスンするように設定し、次のような内容を入力します/etc/tor/torrc
。
HiddenServiceDir /var/lib/tor/ssh_hidden_service/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceVersion 3 # If you're using tor 0.3.2 or above.
次に Tor を再起動します。Onion ホスト名が生成され、 で確認できます/var/lib/tor/ssh_hidden_service/hostname
。
Torを使用するようにSSHクライアントを設定する次のようなものを に入力します~/.ssh/config
:
Host mydomain
HostName mydomain.com
CheckHostIP no
ProxyCommand connect-proxy -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p
connect-proxyパッケージをインストールする必要があります。または、ProxyCommand としての netcat。