kon*_*aju 30 linux ssh mount remote
我知道 sshfs 用于将远程目录挂载到本地,但我需要将本地目录挂载到远程 fs。
我想挂载一个本地文件夹,例如:
/home/username/project_directory
Run Code Online (Sandbox Code Playgroud)
到我可以通过 ssh 访问的远程机器上,例如:
/var/www/project_directory
Run Code Online (Sandbox Code Playgroud)
目标是在本地进行的编辑反映在远程文件系统上。
qui*_*inn 23
来自:http : //mysteriousswede.blogspot.com/2012/01/mount-local-directory-to-server-on.html
怎么做?您通过使用登录到本地计算机上的端口 22 的机器上的端口 10000 来设置 ssh 转发,并使用 sshfs 在另一端安装。
例如 将本地机器上的 /home/username/mywwwdevelstuff 挂载到服务器端的 /var/www :
localusername@localmachine: ssh username@server -R 10000:localmachine:22
username@server: cd /var
username@server: sshfs -p 10000 -o idmap=user,nonempty \
localusername@127.0.0.1:~/mywwwdevelstuff www
Run Code Online (Sandbox Code Playgroud)
小智 11
为了避免额外的身份验证和双重加密,您可以将端口反向转发到 22 之外的另一个端口,并首先在该端口上通过 ncat 的 -e 选项运行 /usr/libexec/openssh/sftp-server。然后在远程端通过 ssh 命令使用 sshfs 的“directport”选项。
ncat -l -p 34567 -e /usr/libexec/openssh/sftp-server &
ssh -t -R 34568:localhost:34567 $REMOTE "sshfs localhost: $MPOINT -o directport=34568; bash"
Run Code Online (Sandbox Code Playgroud)
您将获得一个远程 shell,其中包含 $MPOINT 目录中的本地文件,并且无需登录两次。那是多么方便啊。作为奖励,它只允许安装一次,因此如果远程计算机上的其他人尝试打开端口 34568,她将无法访问您的文件。确保端口号 34567 未在本地使用,并且 34568 未在远程使用,否则请选择其他一些 >1024 的数字。并确保远程端存在 $MPOINT 目录。
| 归档时间: |
|
| 查看次数: |
16898 次 |
| 最近记录: |