我的问题基本上是如何把现有的两个步骤变成一步。
我有一个工作的SSH隧道使用这样的中间人服务器设置两台计算机之间:
Kubuntu_laptop--->nat_fw--->Debian_Server<--nat_fw<--Kubuntu_desktop
我现在所做的是从Kubuntu_laptop到Debian_Server,然后从Debian_Server到Kubuntu_desktop的SSH。 我想做一个SSH命令,在我的Kubuntu_laptop的bash上发布,导致我连接到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密钥。 密码login被禁用。 并注意到在两台计算机上的计算机用户帐户是不同的。
关于这条腿的连接:
Debian_Server<--nat_fw<--Kubuntu_desktop
这是如何build立的。
第0步:
autossh -M 5234 -N -f -R 1234:localhost:22 [email protected] -p 22
通知Kubuntu_desktop以[email protected](不是admin @ debian_server)连接到中间人。 但是当我连接到Kubuntu_desktop,我作为pipe理员用户连接。
我无法更改现有的监视端口(5234)或远程( – R)端口号(本例中为1234)。 我无法更改SSH安全性以允许密码login。 我无法打开任何新的防火墙端口。 我无法更改用户帐户(笔记本电脑除外)。
(一旦我有这个工作,我想获得vnc或远程桌面支持解决scheme在SSH隧道上工作。)
确保在Debian服务器上安装了netcat,并在本地SSHconfiguration( ~/.ssh/config
)中使用ProxyCommand
。
Host Kubuntu_desktop User admin IdentityFile ~/.ssh/Kubuntu_desktop.rsa ProxyCommand ssh -i ~/.ssh/id_rsa admin@Debian_Server nc localhost 1234