web-dev-qa-db-ja.com

仲介サーバーを介したSSHトンネル-1つのステップで接続する方法(キーペアを使用)?

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

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

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

私が現在行っているのは、Kubuntu_laptopからDebian_Serverへ、次にDebian_ServerからKubuntu_desktopへのSSHです。その1つのSSHコマンドをbashのKubuntu_laptopで発行し、Kubuntu_desktop(シェル/ 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 

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

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

この脚の接続について:

Debian_Server<--nat_fw<--Kubuntu_desktop

確立方法は次のとおりです。

autossh -M 5234 -N -f -R 1234:localhost:22 [email protected] -p 22

Kubuntu_desktopが[email protected](admin @ debian_serverではない)としてmiddlemanに接続していることに注意してください。しかし、Kubuntu_desktopに接続すると、管理者ユーザーとして接続します。

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

9
MountainX

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

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

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

NetcatがDebianサーバーにインストールされていることを確認し、ローカル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

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

ステップ0(お父さんの場合):

autossh -M 6543 -N -f -R 5678:localhost:22 [email protected] -p 22

オプション:

DAD=5678
ssh family_desktops -p $DAD
6
MountainX