标签: sshfs

如何在 OSX 上使用 /etc/fstab 和/或 automount 与 sshfs?

我正在尝试从我的 Mavericks Mac 上的远程 Ubuntu 计算机自动挂载目录。SSHFS 在以多种不同方式手动安装时可以完美运行。标准 sshfs 挂载效果很好:

sshfs user@desk:/home/user desk 
Run Code Online (Sandbox Code Playgroud)

我什至可以使用mount

sudo mount -t sshfs -o allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa user@192.168.1.2:/home/user desk
Run Code Online (Sandbox Code Playgroud)

(我按照OSXFuse自动安装说明进行设置mount_sshfs

我想把它变成自动挂载。OSXFuse推荐的最简单的方法是将上面的mount命令变成一个/etc/fstab条目:

user@192.168.1.2:/home/user    /Network/desk   sshfs   allow_other,IdentityFile=/Users/user/.ssh/nopass_id_dsa 0 0 
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

Network $ sudo mount desk
mount: desk: unknown special file or file system.
Run Code Online (Sandbox Code Playgroud)

同样,如果我这样做,sudo automount -vc那么当我尝试输入挂载点时,我要么会遇到很长的超时,要么会出现无用的“不允许操作”错误,具体取决于我如何处理 fstab 选项的格式。当我尝试设置自动挂载映射时,我遇到了相同的错误,如此处所述

我的 fstab 条目有什么问题?或者,我还能如何在 OSX 上自动挂载 sshfs?

(我在 10.9.5 上使用自制程序的 sshfs 2.5.0)

mount sshfs automount macos

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

将一台 Linux 主机的文件系统连接到另一台 Linux 主机的文件系统有哪些选项?

我有两台 Linux 主机(都运行 Ubuntu 10.04),我希望其中一台能够访问另一台的部分文件系统。即我希望remote1能够访问remote2的文件:/home/username

这只是为了允许我以读写方式访问另一台计算机上的主目录,并且其他用户不需要也能够访问它。

每个主机上使用的“用户名”ID 都不同,原因我不会详细说明(同样,ADS 等)。

我尝试过 Samba,但发现它不可靠。例如,我有一个程序可以监视目录并更新大约 12,000 个文件的列表。我发现这个列表不断变化,文件丢失,有些文件随机无法读取。太不靠谱了。

我在remote1上有一些运行良好的东西:

sshfs remote2:/home/username ~/remote2 -o idmap=user -o uid=$(id -u) -o gid=$(id -g)
Run Code Online (Sandbox Code Playgroud)

这在一段时间内非常有效。不幸的是,remote1 是一台笔记本电脑,并且经常与 LAN 断开连接。当安装这个 sshfs 文件系统时,这似乎完全破坏了一切,并且通常需要重新启动才能恢复。

我开始研究 NFS,但几年前我遇到了有关用户 ID 映射的问题。当时,我发现有一个用户空间 NFS 服务器可以处理这个问题,但它有很多自己的问题。但那是 NFSv3。NFSv4“内核服务器”可以处理不同的用户 ID 并在它们之间正确映射吗?我真的不想使用 NIS,而且实际上我也无法更改用户 ID——它们是通过外部方式设置的。

另外,NFS 如何处理“不可靠”的网络连接?它会自动重新连接还是共享会被破坏,直到重新安装为止?

像 CIFS 这样的东西怎么样?这可以应对经常出现的、不可预测的网络故障吗?这可能会遇到与 Samba 相同的问题,但如果合适的话值得一试。

我还应该考虑其他选择吗?

linux samba network-shares nfs sshfs

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

sshfs:输入/输出错误

我无法输入我的 sshfs,但我确定连接正常并且目标存在。每个文件操作都失败并显示Input/output error.

sshfs 输出:

$ sshfs -p 7292 server:/in/vm/dir ~/vm_dir -d
FUSE library version: 2.9.2
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 1, opcode: INIT (26), nodeid: 0, insize: 56, pid: 0
INIT: 7.20
flags=0x000017fb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 1, success, outsize: 40
unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56, pid: 2287
getattr /
unique: 3, opcode: OPENDIR (27), nodeid: 1, insize: 48, pid: 21063
   unique: 3, success, outsize: 32 …
Run Code Online (Sandbox Code Playgroud)

ssh sshfs

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

通过 autofs 以用户身份运行 sshfs

我的情况:

  • 我的局域网上有几台我不管理的服务器
  • 我使用 SSH 访问它们以获取sshfs、shell 和远程 X11 应用程序
  • 我已经ControlMaster auto在我的~/.ssh/config文件中进行了设置,因此我不会遇到身份验证延迟
  • 我使用压缩和快速/弱密码,因为我要么在私人局域网上,要么在使用 VPN
  • 在可能的情况下,我已将我的(无密码)公共 RSA 密钥导出到服务器

我已经开始使用autofs简化我的工作,但是autofs想要以 root 身份运行它的所有挂载命令。当然,我可以以 root 身份生成一个新的 RSA 密钥对并将其导出,并将我自己的~/.ssh/config选项复制到超级用户的配置文件中,但我不想保留这些东西的两个副本,这并不能解决我的愿望每个主机只有一个打开的 SSH 连接。因此,我想让autofssshfs以非特权用户身份运行,就像在终端手动调用时一样。

我已经研究过autofs脚本,但这些脚本似乎不能解决我的问题。有什么建议?

linux ssh sshfs autofs

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

为什么我突然无法写入这个 sshfs 卷?

有一个远程服务器,我每天都通过 ssh 连接到它。我在服务器上编辑了很多文件,所以我sshfs经常这样做。

我用$ sshfs user@host:/var/www/html ~/sshfs/html. 这在过去几个月中运作良好,即使现在也应该有效。但是,我遇到了一些奇怪的不一致的访问问题。

案例 1 - Sublime Text:我完全无法使用我选择的编辑器(Sublime Text)保存任何内容。我不能另存为来创建一个新文件~/sshfs/html/。我可以打开文件,但不能保存。

尝试保存时,Sublime 在警告框中显示以下消息:

截屏

Unable to save ~/sshfs/html/foo
Error: rename(/home/ben/sshfs/html/.subl219.tmp, /home/ben/sshfs/html/foo) failed
errno: 1
Run Code Online (Sandbox Code Playgroud)

案例 2 - Kate:我尝试在 Kate 中打开东西,看看 Sublime 是否只是愚蠢。我仍然无法编辑现有文件,但我可以在 Kate 中创建新文件而不会出现问题

尝试保存编辑时,Kate 在警告框中给出以下消息:

截屏

The document could not be saved, as it was not possible to write to /home/ben/sshfs/html/foo.
Check that you have write access to this file or that enough disk …
Run Code Online (Sandbox Code Playgroud)

linux ssh permissions sshfs

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

为什么当我执行 SSHFS 时目录会消失?如何在 Max OSX 10.9 上设置 SSHFS 共享?

我正在运行 Max OSX 10.9.3 并且我正在尝试在我的 MacBook Pro 和远程文件系统之间设置 SSHFS 文件共享。但是,当我尝试这样做时,它不起作用。

奇怪的是,它使目标目录消失。有没有其他人看到这种情况发生?这是一个错误吗?

首先看到我可以正常ssh进入目标机器:

% ssh remoteuser@XXX.XXX.XXX.XXX            # <--- SSH to remote system works! See below.
remoteuser@XXX.XXX.XXX.XXX % ls -altr remoteDir
total 8
drwxr-xr-x 26 remoteuser remoteuser 4096 Jun 22 01:00 ..
drwxrwxrwx  2 remoteuser remoteuser 4096 Jun 22 01:08 .
remoteuser@XXX.XXX.XXX.XXX % exit
%                                           # <--- Logged out of remote system
Run Code Online (Sandbox Code Playgroud)

接下来,我在本地创建一个目录并验证它是否已创建:

% pwd
/mnt

% ls
total 0
drwxr-xr-x  31 root  admin  1122 Jun 18 18:34 ../
drwxr-xr-x   2 root …
Run Code Online (Sandbox Code Playgroud)

mac file-sharing sshfs macos

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

通过 ssh 反转 sshfs

我想从通过 ssh 连接的主机在远程机器上安装目录,最好通过 ssh 隧道;用下面描述的方法。

如何像sshfs一样将本地目录挂载到远程?

但是如果在远程连接上重置对等连接。任何意见?

谢谢

linux ssh mount openssh sshfs

5
推荐指数
0
解决办法
3013
查看次数

在 sshfs 之后似乎没有考虑 Makefile 中的 cd

我有一个 Makefile,其中包含一个sshfs命令,后跟一个cd命令:

mr: # mount-remote
        sshfs -p 5022 -o nonempty myname@myssh.serveur.fr:mnt /home/julien/myworking_path
        cd ./working_directory_mwe1/wk_subd_mwe2/
Run Code Online (Sandbox Code Playgroud)

第一个命令 sshfs 就像一个魅力一样,可以正确安装两个端点。但是,cd 命令不会更改目录。然后我必须手动重新输入。如果我手动输入,它就可以工作,但我希望在输入命令时完成mr

我尝试了以下操作,但记住这可能是因为我在执行时连接了终端 2 秒,sshfs但这也不起作用。我尝试cd每秒重新运行一次,直到它起作用。

mr: # mount-remote
        sshfs -p 5022 -o nonempty myname@myssh.serveur.fr:mnt /home/julien/myworking_path
        until cd ./working_directory_mwe1/wk_subd_mwe2/ ; do sleep 1 ; done
Run Code Online (Sandbox Code Playgroud)

感谢您的热心帮助 :)

编辑:我忘记指定我尝试的最小工作目录cd正是端点处的目录,实际上,我意识到我的目标是:

mr: # mount-remote
        sshfs -p 5022 -o nonempty myname@myssh.serveur.fr:mnt /home/julien/myworking_path
        cd /home/julien/myworking_path/some_sub_dir1/som_sub_dir2
Run Code Online (Sandbox Code Playgroud)

linux bash command-line sshfs makefile

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

如何在 cygwin 上使用 sshfs

如何使用sshfscygwin?直接方式不起作用:

$ apt-cyg install sshfs
Installing sshfs
Unable to locate package sshfs
Run Code Online (Sandbox Code Playgroud)

cygwin sshfs

4
推荐指数
3
解决办法
8278
查看次数

debian 上的 portmap,我可以安全地删除它吗?

我正在运行 3 个 http 服务器,但没有什么特别之处。它只是通过 SSHFS 共享目录的 apache,查看 RAM 的使用情况,我可以看到 portmap 使用了相当多的 RAM/CPU,但我不知道它在做什么。

init-+-acpid
     |-apache2---431*[apache2---{apache2}]
     |-atd
     |-cron---cron---sh---php---{php}
     |-dbus-daemon
     |-6*[getty]
     |-memcached---5*[{memcached}]
     |-newrelic-daemon---newrelic-daemon---11*[{newrelic-daemo}]
     |-nrsysmond---nrsysmond---{nrsysmond}
     |-portmap
     |-rpc.statd
     |-rsyslogd---3*[{rsyslogd}]
     |-searchd---searchd---2*[{searchd}]
     |-sshd-+-6*[sshd---sshd---sh---sftp-server]
     |      `-sshd---sshd---bash---pstree
     |-udevd---2*[udevd]
     `-zabbix_agentd---2*[zabbix_agentd]
Run Code Online (Sandbox Code Playgroud)

你认为我可以安全地停止/清除它吗?

linux debian sshfs

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

如何执行通过 sshfs 挂载的文件?

这不起作用:

$ touch testfile
$ chmod 777 testfile
$ ls -l testfile
-rwxrwxrwx 1 quinn dialout 0 Apr 18 10:15 testfile
$ ./testfile
-bash: ./testfile: Permission denied
$ sudo ./testfile
sudo: unable to execute ./testfile: Permission denied
Run Code Online (Sandbox Code Playgroud)

我正在通过我的 fstab 中的这一行进行安装:

sshfs#127.0.0.1:/remote-dir /data/local-dir fuse port=2222,user,uid=1000,allow_other 0 0
Run Code Online (Sandbox Code Playgroud)

注意:我通过端口 2222 连接到本地主机,因为我使用的是隧道。

linux mount sshfs fstab file-permissions

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

取消 SSHFS(保险丝)挂载 - 无法删除目录

我试图在本地挂载一个 SSHFS 目录,失败了,现在我不能再使用我原来的目录了。

按照教程,我刚刚安装了sshfs软件包,执行了sudo modprobe fuse,然后创建了一个本地目录remote,我想在其中挂载远程目录。

然后我sshfs -o idmap=user "myuser@<host>:/home/myuser" remote按照教程中的说明运行了 ,但是我的连接速度很慢,所以我按了 Ctrl+C。

现在,如果我ls在其父目录上执行此操作,则会获得此条目(例如,我也保留了下一个条目):

...
d?????????  ? ?      ?      ?    ?            remote
drwxr-xr-x  2 myuser myuser 4096 Mar 13 11:02 Videos
...
Run Code Online (Sandbox Code Playgroud)

如果我尝试cd remote,我会得到:

cd: transport endpoint is not connected: remote

尝试删除目录不成功:

rmdir: failed to remove ‘remote’: Device or resource busy

我怎样才能摆脱这个目录,最好不必重新启动?

ssh mount sshfs fuse

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

阅读:使用 sshfs 连接到 AWS 的对等方重置连接

我正在尝试使用 sshfs 在来自 Ubuntu 16.04 的 AWS 实例上挂载目录。

我正在使用的命令:

sshfs -o IdentityFile=keyfile.pem ec2-user@ecX-X-X-X.us-west-1.compute.amazonaws.com:/var/www sshfs/
Run Code Online (Sandbox Code Playgroud)

结果(使用 -o sshfs_debug)

SSHFS version 2.5
read: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

/var/log/secure 尝试连接后 AWS 实例上的条目:

May 10 00:00:33 ip-X-X-X-X sshd[19114]: Connection closed by X.X.X.X [preauth]
Run Code Online (Sandbox Code Playgroud)

我使用我个人运行的不同 VPS 进行了测试,我能够很好地使用 sshfs,并且我在此服务器中定期使用 ssh 没有任何问题。

该实例是使用创建的 amzn-ami-hvm-2015.09.0.x86_64-gp2 (ami-cd3aff89)

linux ssh sshfs amazon-web-services ubuntu-16.04

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