标签: sshfs

mkdir 在 sshfs 上是原子的吗?

mkdir用作锁定机制,据我所知mkdir是原子的,但它不是原子的nfs。所以我的问题很简单,mkdir原子结束了sshfs吗?

sshfs

6
推荐指数
1
解决办法
954
查看次数

sshfs - 无法卸载点

我使用sshfs,在远程机器上安装了一个文件夹,但没有指定-o allow_other标志,因此无法访问安装的目录。

当我尝试使用-o allow_other选项挂载时,出现sshfs此错误:

mount:根据mtab,xxx已经挂载到yyy

为了允许安装在我指定的现有安装点上-o nonempty- 但没有运气 - 得到了与上面相同的错误。

当我尝试卸载挂载点时:

fusermount -u 挂载点

我收到错误:

在 /etc/mtab 中找不到 yyy 的条目

那么,我该怎么做才能卸载错误安装的点?

filesystems mount unmounting sshfs

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

chroot 到 sshfs 文件夹

我正在尝试 chroot 到 sshfs 挂载的目录:

mkdir remoteroot
sshfs remote:/ remoteroot/
sudo chroot remoteroot/
Run Code Online (Sandbox Code Playgroud)

但我明白了chroot: cannot change root directory to remoteroot/: Permission denied。我做错了什么还是根本不支持?如果是这样,是否有其他选择?

chroot permissions fuse sshfs files

6
推荐指数
1
解决办法
2622
查看次数

在通过 fstab 安装的 sshfs 驱动器上强制重新连接

我有一个每天使用的远程 sshfs 驱动器。我以前每次启动计算机时都执行以下命令。

sshfs -o Ciphers=arcfour -o Compression=no -o reconnect remote:dev ~/dev
Run Code Online (Sandbox Code Playgroud)

显然,每次都手动执行此操作并不是很方便,所以我想我只需将遥控器添加到我的文件系统表中即可。我不熟悉 fstab 的格式,但在阅读了一些技术“操作方法”博客后,我决定在我的/etc/fstab文件中包含以下行。

sshfs#wbarlow@remote:/home/wbarlow/dev /home/wbarlow/dev fuse defaults,users,idmap=user 0 0
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果网络中出现故障,驱动器有时会出现故障。这种情况可能每天发生一次——当我尝试手动重新连接(通过单击 nautilus 中的驱动器)时,我收到一条消息,显示“传输端点未连接。”。

我的主要问题是:如何将-o reconnect我在终端命令中使用的选项带入我的 fstab 文件?我相信这会防止驱动器因闪烁而断开连接。

此外,我选择该密码是因为它是我的远程服务器支持的最快的密码(我认为),并删除了压缩,因为有线千兆网络比 CPU 压缩内容所花费的时间快。如果我也可以将这些选项拉入我的 fstab 中,那就太好了,但我可以没有它们。

这是我的内核/操作系统/架构信息:

[wbarlow ~]$ uname -r
4.1.3-200.fc22.x86_64
Run Code Online (Sandbox Code Playgroud)

filesystems fstab sshfs

6
推荐指数
1
解决办法
8065
查看次数

SFTP登录后如何更改为其他用户

目标:
使用本地 IDE (IntelliJ PHPStorm 9) 通过 SSH 浏览和编辑远程文件

障碍:
我在远程机器上的用户无权读取属于 的文件otheruser,但我可以访问sudo su otheruser. 但是,使用otheruser( ssh otheruser@remote)直接登录被禁用,并且无法修改权限。

所以基本上,我需要的是:

  • PHPStormsudo su otheruser在通过其Deployment > Browse remote host工具打开 SFTP 连接后执行(似乎没有任何选项可以这样做)
  • 或者,打开 SSH 隧道,更改otheruser并让 IDE 连接到它
  • 或者,使用sshfs(或其他一些能够在登录后更改用户的工具)在本地安装远程文件夹(我的本地机器运行 OSX )

这可能吗?如果是这样,如何?或者也许有其他/更好的方法来实现这一目标?

osx ssh sftp permissions sshfs

6
推荐指数
0
解决办法
1542
查看次数

了解 sshfs 和 umask

我可以远程访问服务器。在那里我umask设置为 0007。我将我的服务器名称称为“sme”,我的本地名称称为“lme”。所以我执行以下操作:

sme@server$ touch f1
sme@server$ ls -l f1
-rw-rw----  1 sme    0 Jun 16 18:46 f1
Run Code Online (Sandbox Code Playgroud)

现在我去我的本地计算机:

lme@local$ umask
0007
lme@local$ mkdir server
lme@local$ sshfs sme@server /home/sme /server/ -o umask=0000
lme@local$ touch server/f2
lme@local$ ls -l server/f2
-rwxrwxrwx  1 lme  1001     0B Jun 16 18:48 server/f2
Run Code Online (Sandbox Code Playgroud)

首先,我注意到我本地的任何用户都拥有 f2 的完全权限。为什么?我将umask其他用户的权限设置为 7,因此他们的文件权限应为 0。

在服务器端检查:

sme@server$ ls f2
-rw-r----- 1 sme 0 Jun 16 18:48 f2
Run Code Online (Sandbox Code Playgroud)

我在服务器上登录后,我没有设置执行权限。我的服务器组无法写入文件。此外,文件的所有者不是本地用户“lme”而是服务器用户“sme”。然后我尝试sshfs在检查后指定我的服务器用户的 uid 和 gid :

# Get server user's id …
Run Code Online (Sandbox Code Playgroud)

umask sshfs

6
推荐指数
0
解决办法
1415
查看次数

有没有办法将 sshfs 用于“两次跳跃”的机器?

为了在两台 Linux 机器之间传输文件,我总是觉得使用图形文件管理器更舒服,比如 Nautilus,它提供了通过 SSH 连接到远程机器的选项。但是今天我需要将文件传输到我无法直接访问的机器上——我需要先通过 SSH 连接到某个服务器,然后再通过 SSH 连接到我的最终目的地。有没有办法在这里进行 GUI 友好的文件传输,还是我这次应该回到旧的命令行 scp?

ssh sshfs

6
推荐指数
1
解决办法
2672
查看次数

如何在非标准 SSH 端口上为 sshfs 创建 fstab 条目并使用 ssh 密钥

服务器正在侦听端口“8765”并需要 SSH 密钥进行身份验证。

我可以使用以下命令挂载远程目录:

sshfs -o idmap=user,port=8765 stephen@server:/export/usb2T /mnt/usb2T
Run Code Online (Sandbox Code Playgroud)

服务器识别我的 SSH 公钥。

我已经看到,作为标准 SSH 端口的 fstab 条目,这将是:

stephen@server:/export/inbox /mnt/inbox fuse.sshfs  defaults,_netdev  0  0 
Run Code Online (Sandbox Code Playgroud)

但是我需要添加服务器的侦听端口和客户端用户的 SSH 公钥。

我怎么做?

fstab sshfs

6
推荐指数
2
解决办法
7819
查看次数

SSHFS/SFTP:Vim 在尝试通过 sshfs 编辑文件时挂起,并且无法通过 sftp 上传超过 MTU 大小的文件

我的大学提供了对学生大学帐户的 ssh 访问,我只是设置了一个 sshfs 来访问我远程帐户上的一些文件夹。

我在本地机器上运行 pop_os 并使用 systemd automount 和以下选项: noauto,x-systemd.automount,_netdev,user,idmap=user,follow_symlinks,workaround=rename,IdentityFile=/home/me/.ssh/identityfile,allow_other,default_permissions,uid=1000,gid=1000,ServerAliveInterval=15

问题

Automount 工作正常,我可以浏览我的远程文件夹,但是我在替换文件和递归复制文件夹到远程文件夹时遇到了一些麻烦。

但是每次我尝试使用 vim 在远程 fs 上编辑文件时,编辑器都会在打开文件之前挂起 60 秒(非常准确,我猜这与连接超时参数有关)。当文件最终打开时,我收到错误说明E297: Write error in swap fileE72: Close error on swap file从 vim关闭。

但有时(特别是在我重新加载 dameon 并在更新 /etc/fstab 中的选项后重新启动自动挂载服务之后,文件会立即打开,没有错误。

我试过的

我在 sshfs 上打开文件时运行了 strace,这里是问题似乎发生的日志示例:

     0.000032 openat(AT_FDCWD, ".../myremotefile.c", O_RDONLY) = 3
     0.041890 readlink(".../myremotefile.c", 0x7ffd99b19540, 4095) = -1 EINVAL (Invalid argument)
     0.000302 openat(AT_FDCWD, ".../.myremotefile.c.swp", O_RDONLY) = -1 ENOENT (No such file or directory)
     0.029883 openat(AT_FDCWD, ".../.myremotefile.c.swp", O_RDWR|O_CREAT|O_EXCL, 0600) = …
Run Code Online (Sandbox Code Playgroud)

vim ssh scp sftp sshfs

6
推荐指数
1
解决办法
943
查看次数

sshfs 通过 mosh 隧道

我正在使用sshfsssh 隧道。这样做的原因是因为我无法直接访问要挂载文件系统的机器。

此命令建立我的隧道:

ssh -o TCPKeepAlive=no -o ServerAliveInterval=15 -o ServerAliveCountMax=3 -L 2222:192.168.1.55:22 root@beast -Nf
Run Code Online (Sandbox Code Playgroud)

而这个挂载了我的远程文件系统

sudo sshfs -o idmap=user,allow_other,reconnect,TCPKeepAlive=no,ServerAliveInterval=15,ServerAliveCountMax=3 waktana@localhost:/home/wakatana /ubuntu -p 2222
Run Code Online (Sandbox Code Playgroud)

问题是我使用了不可靠的链接,并且这个连接经常挂起(我无法访问 /ubuntu,从 /ubuntu 打开文件的文本编辑器冻结等),尽管我已经尝试过这些选项。

我读过关于mosh 的文章,我想给它一个机会,但我不知道如何使用mosh?

ssh ssh-tunneling sshfs mosh

5
推荐指数
1
解决办法
4285
查看次数

标签 统计

sshfs ×10

ssh ×4

filesystems ×2

fstab ×2

permissions ×2

sftp ×2

chroot ×1

files ×1

fuse ×1

mosh ×1

mount ×1

osx ×1

scp ×1

ssh-tunneling ×1

umask ×1

unmounting ×1

vim ×1