Seb*_*ian 2 ssh mount ssh-tunneling sshfs tunneling
这是@Andrei对问题的扩展
如何通过中间机挂载远程SSHFS?隧道?
我在同样的情况,我想挂载远程目录,但不同的是,两台机器A
,并B
没有在互联网上公开曝光。A
是我当地的工作站。
所以我既不能 ssh from A -> B
,也不能B -> A
.
我经常做的是从租用的虚拟服务器(VPS)B -> C
那里建立反向连接C
。脚本这样的连接(在连接丢失的情况下重新连接)通过启动@reboot
的关键cron
。
user@pcB $ ssh -R 2048:localhost:22 -p<port> user@serverC
Run Code Online (Sandbox Code Playgroud)
然后,从A -> B
我走中间路线A -> C -> B
。
user@pcA $ ssh serverC
user@serverC $ ssh -p 2048 user@localhost
user@pcB $ # okay, logged in.
Run Code Online (Sandbox Code Playgroud)
我在寻找一种方式来安装的目录pcB:/home/user
上pcA
。
如何使用 ssh 通过另一台电脑连接到一台电脑是类似的,但提供的解决方案在这种情况下不起作用:我的情况下的连接映射A -> C <- B
不是A -> C -> B
.
这比我想象的要容易!
所有的人有做的是绑定端口2048
的serverC
上一个端口pcA
。为简单起见,我使用相同的端口号2048
:
user@pcA $ ssh -L 2048:localhost:2048 user@serverC
Run Code Online (Sandbox Code Playgroud)
需要保持这个终端窗口打开。
然后,在pcB:/home/user
本地挂载目录pcA
如下所示:
sshfs -o port=2048 user@localhost:/home/user/ /mnt/pcB
Run Code Online (Sandbox Code Playgroud)
不错的副作用:这意味着您还可以使用高效的 X 服务器连接,例如freeNX
或vnc
检索pcB
. 只需连接到机器localhost:2048
并使用正确的凭据(用户名/密码)即可pcB
!
如果您不想为了连接而保持终端打开,您可以使用:
ssh -NfL 2048:localhost:2048 user@serverC
Run Code Online (Sandbox Code Playgroud)
请注意,这样做可能会违反您雇主/组织的安全政策,因此请确保获得适当的权限。
归档时间: |
|
查看次数: |
3468 次 |
最近记录: |