私の家のコンピュータは、ISPレベルのNAT(およびファイアウォール)の背後にあります。
ターゲットコンピュータは、ゲートウェイの背後で動作するコンピュータです。まず、ゲートウェイシステムにSSHを接続する必要があります(インターネットから見てアクセスできる唯一のシステムであるため)。このゲートウェイのSSHデーモンは、「キーボード対話型」ログインのみを許可するように構成されています(パスワードなしの公開鍵ロギングは許可されていません)。次に、公開鍵ベースのロギング(専用)を使用してターゲットシステムにログインします。
SSHトンネルを設定することでこれらのトンネルを確立した後にパスワードを提供することなく、自宅のコンピュータからホストコンピュータに直接ログインするか、その逆にログインできるようにするにはどうすればよいですか? 。
たとえば、個人のGitリポジトリを同期できるようにしたい(ホームからターゲットにプッシュし、ターゲットからホームに移動)。
これは説明された設定よりも複雑な設定です。パブリックで利用可能なサーバーからプライベートで使用可能なコンピュータにトラフィックを転送する方法は?
答え1
私はあなたが次のようなものを探していると思います。
(最初のサーバーを「gateway1」、2番目のサーバーを「gitrepo1」と呼びます)
ssh -L 8022:gitrepo1:22 ゲートウェイ 1
その後、自宅のコンピュータのローカル秘密鍵を使用して、次の手順を実行してgit repoサーバーにアクセスできます。
ssh -i /path/to/your/key localhost -p 8022
この場合、複数のトンネルが必要ないと思うので、何か抜けたのではないかと少し心配です。