Middlemanサーバーを介したSSHトンネル-1つの手順で接続する方法(キーペアを使用)?


9

私の質問は、基本的に私の既存の2つのステップを1つのステップに変える方法です。

次のようにMiddlemanサーバーを使用して、2台のコンピューター間にSSHトンネルを設定しています。

Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop

現在私がしていることは、Kubuntu_laptopからDebian_Serverへ、次にDebian_ServerからKubuntu_desktopへのSSHです。私はKubuntu_laptopでbashで発行された1つのSSHコマンドを作成したいと思います。これにより、Kubuntu_desktop(shell / bash)に接続されます。

現在使用しているコマンドは以下の通りです。ステップ1:

me@kubuntu_laptop:~$ ssh -i ~/.ssh/id_rsa admin@debian_server  

ステップ2:

admin@debian_server:$ ssh -p 1234 -i /home/admin/.ssh/id_rsa admin@localhost 

次に、(kubuntu_laptopから)SSH経由でkubuntu_desktopに接続します。

RSAキーは、すべてのSSH接続に必要です。パスワードのログインはずっと無効になっています。また、コンピューターのユーザーアカウントが2台のコンピューターで異なることに注意してください。

このレッグの接続について:

Debian_Server<--nat_fw<--Kubuntu_desktop

以下にその確立方法を示します。

autossh -M 5234 -N -f -R 1234:localhost:22 user@mydebian.com -p 22

Kubuntu_desktopがuser@mydebian.com(admin @ debian_serverではない)としてMiddlemanに接続することに注意してください。しかし、Kubuntu_desktopに接続すると、管理者ユーザーとして接続します。

既存の監視ポート(5234)またはリモート(-R)ポート番号(この例では1234)を変更できません。SSHのセキュリティを変更してパスワードログインを許可できません。新しいファイアウォールポートを開けません。ユーザーアカウントを変更できません(ラップトップを除く)。



@HaukeLaging-おもしろそうですが、わかりません。「nc」とは何ですか?そして、どのマシンで〜/ .ssh / configが編集されていますか?基本的には、質問/回答よりも詳細な情報が必要です。ありがとう。
MountainX

この質問は、Server Fault SEに(通知なしで)クロスポストされています。これは非常に悪い形です!
mdpc 2013

どこでも反対投票に感謝しますが、2つの異なる場所で質問することの何が問題になっていますか?また、ubuntuforums.orgや他の場所で私が尋ねるのを防ぐつもりですか?
MountainX

@HaukeLaging-ラップトップでProxyCommandを使用している場合〜/ .ssh / configの場合、Kubuntu_Desktopのホスト名に何を入力しますか?fqdnはありません。これはリバースSSHです。ありがとう。
MountainX

回答:


8

Debianサーバーにnetcatがインストールされていることを確認ProxyCommandし、ローカルSSH構成で使用します(~/.ssh/config)。

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

完全を期すために、別の答えですべてのステップを示しましたが、すべてあなたの助けのおかげでした。私はあなたの答えを受け入れています。ありがとうございました!!!
MountainX

6

@Ignacio Vazquez-Abramsのおかげで、ここにすべてのステップがあります:

Debianサーバーにnetcatがインストールされていることを確認し、ローカルSSH構成(〜/ .ssh / config)でProxyCommandを使用します。

私は次のように設定を編集しました:

me@kubuntu_laptop:~/.ssh$ nano config

内容は次のとおりです。

Host kubuntu_desktop
  ProxyCommand ssh debian_server_fqdn nc localhost 1234
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

次に接続するだけです:

me@kubuntu_laptop:~$ ssh kubuntu_desktop

1ステップでSSH経由でkubuntu_desktopに接続しました!パーフェクト

更新:

これにより、より柔軟になります。

me@kubuntu_laptop:~/.ssh$ nano config

新しい内容は次のとおりです。

Host family_desktops
  ProxyCommand ssh debian_server_fqdn nc localhost %p
  User admin
  PasswordAuthentication no
  IdentityFile ~/.ssh/my_id_rsa

次に、お母さんに接続します。

me@kubuntu_laptop:~$ ssh family_desktops -p 1234

お父さんに接続します。

me@kubuntu_laptop:~$ ssh family_desktops -p 5678

もちろん、ママとパパは、ステップ0を(私の最初の質問から)セットアップする必要があります。それぞれに独自の-Rポートが定義されています。お父さんの例:

ステップ0(お父さん用):

autossh -M 6543 -N -f -R 5678:localhost:22 user@mydebian.com -p 22

オプション:

DAD=5678
ssh family_desktops -p $DAD

ProxyCommandは次のように書くこともできProxyCommand ssh debian_server_fqdn -W localhost:%pます。したがって、Debianサーバーにnetcatを置く必要はありません。
ケビン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.