我想连接到我所在大学的服务器中的帐户。在那里我只需要做
“ssh user@FinalServer/home/user”
或者使用以下方式创建文件夹
“sftp://user@FinalServer/home/user”.
但当我在家时,问题就出现了。在这里我必须先连接到具体端口的具体服务器,然后再连接到 FinalServer。
1st. “ssh user@IntermediateServer:54022”
2nd. “ssh user@FinalServer/home/user”
要执行 sftp,我必须先执行到中间服务器,然后再执行到最终服务器。如果可能的话,我想创建一个像第一个例子那样的文件夹,但我不知道怎么做。
我正在寻找 Linux 和 Windows 中的解决方案。
我正在尝试使用 Putty 或 WinSCP 做一些事情,但我不知道怎么做。非常感谢,抱歉我的英语不好。
答案1
如果您的中间主机允许 TCP 转发,您可以实现您想要的功能,但仍需要与中间服务器建立 ssh 连接。这两个命令都可以从您家中运行:
ssh -f -p 54022 user@IntermediateServer -L 2000:FinalServer:22 -N
ssh -p 2000 user@localhost
第一个命令通过端口 54022 的中间服务器,从端口 2000 的家庭电脑到端口 22 的最终服务器(SSH 的标准)建立隧道。启动第一个命令并检查家庭电脑上是否有新的监听端口(netstat -na | grep LIST | grep 2000
),如果有,则表示隧道已启动并运行。只需执行命令,就好像您的本地电脑是最终服务器(端口 2000)一样
注意:我使用端口 2000,因为我假定您的电脑上正在运行 ssh 服务器,但您可以使用任何您想要的端口。