通过中间服务器的 SSH 反向隧道-如何一步连接?

通过中间服务器的 SSH 反向隧道-如何一步连接?

我的问题基本上是如何将现有的两个步骤变成一个步骤。

我在两台计算机之间建立了一个有效的 SSH 隧道,使用如下中间服务器:

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

我目前所做的是从 Kubuntu_laptop 到 Debian_Server 的 SSH,然后从 Debian_Server 到 Kubuntu_desktop。我想在我的 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_laptop)连接到 kubuntu_desktop。

所有 SSH 连接都需要 RSA 密钥。所有情况下均禁用密码登录。请注意,两台计算机上的计算机用户帐户不同。

关于此航段的连接:

Debian_Server<--nat_fw<--Kubuntu_desktop

它的建立方式如下。

步骤 0:

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

注意 Kubuntu_desktop 连接到中间人[电子邮件保护](不是 admin@debian_server)。但是当我连接到 Kubuntu_desktop 时,我以管理员用户身份连接。

我无法更改现有的监控端口 (5234) 或远程 (-R) 端口号 (本例中为 1234)。我无法更改 SSH 安全性以允许密码登录。我无法打开任何新的防火墙端口。我无法更改用户帐户(笔记本电脑除外)。

(一旦我完成这项工作,我希望通过 SSH 隧道获得 vnc 或一些远程桌面支持解决方案。)

答案1

确保 Netcat 安装在 Debian 服务器上,并ProxyCommand在本地 SSH 配置中使用(~/.ssh/config)。

Host Kubuntu_desktop
  User admin
  IdentityFile ~/.ssh/Kubuntu_desktop.rsa
  ProxyCommand ssh -i ~/.ssh/id_rsa admin@Debian_Server nc localhost 1234

相关内容