我的问题基本上是如何将现有的两个步骤变成一个步骤。
我在两台计算机之间建立了一个有效的 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