标签: sshfs

如何防止rsync chown'ing传输的文件?

我在 Linux 服务器上有一个远程文件系统的 sshfs 连接设置。我正在从本地服务器到 ftpfs 文件系统进行 rsync。由于此设置的性质,我无法chown对 sshfs 文件系统进行任何操作。

当我执行 rsync 时,它会在传输文件后尝试 chown 所有文件。这会导致 chown 错误,即使它可以很好地传输文件。

使用 rsync,有没有办法告诉它不要尝试 chown 文件?如果我 rsync 像 1000 个文件,我最终会得到 1000 个chown: permission denied (error 13)错误的日志。我知道得到这些错误不会有任何伤害,因为文件的所有权是由 sshfs 配置本身决定的,但最好不要得到它们。

rsync sshfs

78
推荐指数
3
解决办法
8万
查看次数

我如何通过 sshfs sudo?

在我的本地主机上,alpha我有一个foo通过 sshfs 映射到主机的目录,bravo如下所示:

$ sshfs charlie@bravo:/home/charlie ~/foo
Run Code Online (Sandbox Code Playgroud)

但是,在主机上bravo还有另一个用户 delta,我想sudo /bin/su成为它,以便我可以在bravo:/home/delta. delta可能无法通过 ssh 登录;由于我无法改变的原因,一旦你在机器上,你只能 sudo 到 delta。

通常我会 ssh 进入bravo,然后 sudo 到 delta,但我想知道当我通过 ssh 安装了查理的主目录时,是否有任何方法可以做到这一点。

ssh sudo sshfs

41
推荐指数
3
解决办法
2万
查看次数

为什么 SSHFS 不让我查看挂载的目录?

我使用 SSHFS 在远程服务器上挂载一个目录。客户端和服务器上都有一个用户 xxx。两个盒子上的 UID 和 GID 是相同的。

我用

sshfs -o kernel_cache -o auto_cache -o reconnect -o compression=no \ 
      -o cache_timeout=600 -o ServerAliveInterval=15 \
      xxx@yyy.yyy.yyy.yyy:/mnt/content /home/xxx/path_to/content
Run Code Online (Sandbox Code Playgroud)

将目录挂载到远程服务器上。当我在客户端上以 xxx 身份登录时,我没有任何问题。我可以 cd 进入 /home/xxx/path_to/content。

但是当我以另一个用户 zzz 登录客户端时

$ ls -l /home/xxx/path_to
Run Code Online (Sandbox Code Playgroud)

我明白了

d?????????   ? ?    ?        ?                ? content
Run Code Online (Sandbox Code Playgroud)

并在

$ ls -l /home/xxx/path_to/content
Run Code Online (Sandbox Code Playgroud)

我得到

ls: cannot access content: Permission denied
Run Code Online (Sandbox Code Playgroud)

当我做

$ ls -l /mnt
Run Code Online (Sandbox Code Playgroud)

在我得到的远程服务器上

drwxr-xr-x 6 xxx xxx  4096 2011-07-25 12:51 content
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?权限对我来说似乎是正确的。我错了吗?

linux permissions fuse sshfs distributed-filesystems

36
推荐指数
1
解决办法
3万
查看次数

将 SSHFS 卷挂载到 Docker 实例中

我使用 SSHFS 在我的主机上挂载一个远程文件系统,我希望能够从 Docker 容器内部访问它。

我挂载远程文件系统

sshfs -o idmap=user,uid=$(id -u),gid=$(id -g) user@remote:directory /path/to/sshfs

而且,使用 Docker,根据我的使用情况,我收到以下错误--mount

docker run  -it -v /path/to/sshfs:/target myimage bash
docker: Error response from daemon: error while creating mount source path '/path/to/sshfs': mkdir /path/to/sshfs: file exists.
Run Code Online (Sandbox Code Playgroud)

-v

docker run -it  --mount src=/path/to/sshfs,target=/target,type=bind  myimage bash
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /path/to/sshfs.
See 'docker run --help'
Run Code Online (Sandbox Code Playgroud)

是否可以将 sshfs 挂载点挂载到容器中?

ssh mount fuse sshfs docker

17
推荐指数
1
解决办法
1万
查看次数

在切换网络接口连接时保持 ssh 连接的活动和持久性

设想:

  1. 在我的办公桌上,笔记本电脑插入以太网并通过 SSH 连接到远程服务器
  2. 想要在不中断 SSH 连接的情况下使用笔记本电脑搬到办公室的另一边并切换到 WiFi

我试过:先连接到 WiFi,然后断开以太网;并先断开以太网,然后再连接到 WiFi。这两种方法都不起作用。在使用 Ubuntu 和 OS X 服务器以及两个操作系统选项以及客户端时也尝试过。没运气。

似乎我需要某种方式告诉我的 SSH 连接它应该开始使用新连接的网络接口而不是旧的断开连接的接口。有任何想法吗?

我意识到我可以整天呆在 WiFi 上,但我不想那样做。我也意识到我可以只在远程服务器上的屏幕会话中工作,然后在更改接口后重新连接到该屏幕会话,但我也不想这样做。例如,我可能正在通过管道传输一些大命令,例如通过 SSH 进行数据库转储,或者我可能通过 SSHFS 打开文件,或者我可能只是想避免重新连接的麻烦

networking ssh wifi sshfs keepalive

16
推荐指数
2
解决办法
2万
查看次数

如何列出当前的 sshfs 挂载到服务器?

如果有人通过 ssh 登录服务器以使用 shell,可以快速使用 last|w|who 来显示登录用户。如果有人从另一台计算机通过 sshfs 在同一台服务器上挂载目录 last|w|who 不显示连接。是否有类似于 last|w|who 的命令可以显示服务器上的当前 sshfs 安装?

linux ssh logging sshfs

15
推荐指数
1
解决办法
9283
查看次数

在反映主机目录中的更改时提高 SSHFS 性能

我有一个来自 Ubuntu Server VM 来宾的 SSHFS 挂载,挂载了一个主机 Mac OS X 目录。直接在 Mac OS X 主机目录中进行的更改大约需要 5 - 10 秒才能反映在 Ubuntu Server VM 来宾安装中。

我正在使用以下命令...

sshfs 用户@主机:~/主机

哪些附加选项(如果有)可以改善这种延迟?

ubuntu ssh mount mac-osx sshfs

13
推荐指数
1
解决办法
2万
查看次数

如何在启动时挂载 sshfs?

使用 NAS 盒作为 24/7 文件服务器,我想使用 sshfs 从 Ubuntu 9.04 桌面连接到它。目前,我在桌面的 fstab 中有这一行:

sshfs#jldugger@storage:/mnt/HD_a2/    /mnt/storage    fuse   comment=sshfs,auto,users,exec,uid=1000,gid=1000,allow_other,reconnect,transform_symlinks,BatchMode=yes,fsname=sshfs#jldugger@storage/mnt/HD_a2/ 0 0
Run Code Online (Sandbox Code Playgroud)

我可以确认它适用于 mount /mnt/storage。我需要的是在启动时安装它的一些方法,但在建立网络连接之后。

ubuntu file-sharing init boot sshfs

12
推荐指数
1
解决办法
1万
查看次数

FUSE 挂载可能会破坏 Linux 服务器的稳定性吗?

我是多用户服务器的系统管理员,我们系的学生在那里有 shell 帐户。我们的一位用户要求我们sshfs在其上安装。我正在讨论sshfs按照建议进行安装是否明智。

我主要担心的是 FUSE 安装是否会降低我们的服务器的可靠性。根据我的经验,当 NFS 服务器突然变得不可用时,服务器可能会发生不好的事情——平均负载激增,你可能无法干净地卸载它,以至于可能需要硬重启。如果安装了 FUSE 的服务器突然消失,清理烂摊子有多难?我应该考虑其他任何可能的灾难或陷阱吗?

至少对于 NFS,只有 root 可以挂载,我们可以选择挂载我们认为相当可靠的 NFS 服务器。

让我们假设我们的用户没有敌意,但可能会不小心做出愚蠢的事情。此外,我并不真正担心他们可能挂载的文件系统的内容,因为我们的用户已经拥有 shell 访问权限并且可以将他们想要的任何内容复制到他们的主目录中。

linux fuse sshfs

11
推荐指数
1
解决办法
1716
查看次数

如何让 sshfs + VPN + git 成为一个可以忍受的工作环境?

目前,我正在处理的项目的代码库远程位于公司服务器上。它必须保持这样。远程git存储库也不能公开。

我目前的设置是:

  • 连接到 VPN
  • 运行sshfs以挂载代码的副本
  • 开始处理代码
  • 当我完成后:ssh到远程服务器并在git那里运行命令

这样做的问题是,VPN 不时sshfs掉线,所以我的安装中断了,我的 IDE 冻结了。我所做的是手动重新连接 VPN,然后sshfs再次运行,然后重新开始工作。

但随着VPN跌倒的次数增多,它会变得很烦人。

所以我想知道是否有sshfs某种缓存的任何设置,这将使我能够工作,并且只有在 VPN 恢复时才同步更改。

这可能没有意义,因为如果远程驱动程序不可用,则没有任何可写入的内容。那么使用某种watch东西并用于rsync以双向方式移动更改的不同设置呢(当我保存文件时,或者当我这样做时git pull

我不能只是 git clone,因为我无法重现整个环境以“本地”工作(数据库和其他东西)

代码必须在他们的服务器中,为了让我测试/查看我的工作,我必须访问一个 URL,即我的沙箱。每次我想查看我的更改时,我都无法 git push。

vpn ssh rsync sshfs git

9
推荐指数
2
解决办法
5247
查看次数