这是我所拥有的:台式机和笔记本电脑都位于防火墙后面,两者都可以连接到ssh
功能强大的服务器。
这是我能做的:通过在桌面上运行此命令来创建从服务器到桌面的隧道
ssh userS@SERVER -R 2224:localhost:22 -fN -p 2222
然后我可以ssh
从笔记本电脑到服务器(启用了 pkey),然后通过运行从那里到桌面
ssh userS@SERVER -p 2222 ssh userD@localhost -p 2224
这就是我想做的:使用scp
、sshfs
和相关连接从笔记本电脑到台式机。我想我应该能够使用ssh -L
笔记本电脑来完成此操作,但还没有找到正确的术语。我尝试过(从笔记本电脑)
ssh userS@SERVER -p 2222 -fN -L 2225:localhost:2224
ssh userD@SERVER -p 2225
认为这会让我直接登录到桌面,但它不起作用,因此我在这里提出问题。这次尝试拒绝了连接,因为服务器上的 ssh 端口是 2222。当我尝试使用上述命令将 2225 替换为 2222 时,它尝试让我登录到服务器,就像userD
通常没有任何隧道一样。我走在正确的轨道上吗ssh -L
?我怎样才能让它正常工作?如果您认为我遗漏了任何重要信息,请告诉我,我会尽力澄清。谢谢。
答案1
下面的命令有效吗?
% ssh -o ProxyCommand='ssh -p 2222 userS@SERVER /usr/bin/nc %h %p' userD@DESKTOP
如果是这样,您可以将代理命令添加到您的文件中,~/.ssh/config
以便更轻松地拨打scp
和sshfs
通话。