中間サーバーを介したSSHトンネリング - キーペアを使用してワンステップで接続するにはどうすればよいですか?

中間サーバーを介したSSHトンネリング - キーペアを使用してワンステップで接続するにはどうすればよいですか?

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

次のように、中間サーバーを使用して2台のコンピュータ間で動作するSSHトンネルを設定しました。

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

私が現在やっていることは、Kubuntu_laptopからDebian_Serverに、そしてDebian_ServerからKubuntu_desktopにSSHを使用することです。私はKubuntu_laptopのbashで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 

その後、SSHを介してkubuntu_desktop(kubuntu_laptopから)に接続しました。

すべてのSSH接続にはRSAキーが必要です。パスワードログインが完全に無効になっています。 2 台のコンピューターには異なるコンピューターのユーザー アカウントがあります。

この足の接続について:

Debian_Server<--nat_fw<--Kubuntu_desktop

次のように設定されます。

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

Kubuntu_desktopは人工ブローカーにリンクされています。[Eメール保護](admin@debian_serverではありません)。ただし、Kubuntu_desktopに接続すると、管理者として接続されます。

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

答え1

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

Host Kubuntu_desktop
  ProxyCommand ssh Debian_Server nc localhost 1234

答え2

@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

一度に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

もちろん、お母さんとお父さんはそれぞれ独自の-Rポートを定義するステップ0(元の質問で)を設定する必要があります。父を例に挙げてみましょう。

ステップ0(パパ用):

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

任意に選択できる:

DAD=5678
ssh family_desktops -p $DAD

関連情報