跳转至内容

Sftpman

来自 ArchWiki

你可以使用 sftpman(一个 SSHFS 辅助工具)将可以通过 SSH 访问的远程系统挂载到本地文件夹。

sftpman 同时提供命令行工具(sftpman)和基于 iced 的前端界面(sftpman-iced,参见 截图),两者分别打包。

使用 sftpman,你首先设置(定义)远程文件系统,然后可以轻松地挂载/卸载它们(通过一个命令或一次点击)。

注意 为了使用 sftpman 或其 GUI 界面 sftpman-iced,你首先需要配置好可运行的 SSHFS

安装

你可能希望安装以下 2 个软件包。

  • sftpmanAUR - 提供命令行应用程序 sftpman,同时也被 GUI 前端内部使用(作为库)。
  • sftpman-icedAUR - 提供 sftpman-iced 应用程序,这是一个基于 icedsftpman GUI 前端。

定义文件系统

由 sftpman 管理的每个文件系统都需要有一个唯一的名称/ID,该 ID 将用于管理系统以及作为其挂载路径的一部分。ID 为 my-machine 的系统将被本地挂载到 /mnt/sshfs/my-machine

挂载期间与远程文件系统的身份验证可以使用密码、SSH 密钥 或将其委托给身份验证代理 (authentication-agent) 来完成。

使用命令行工具定义一个使用密码认证的新远程文件系统,请执行:

$ sftpman create \
--id "my-machine" \
--host "HOSTNAME_OR_IP" \
--user "USERNAME" \
--auth_type=password \
--remote_path "/REMOTE_PATH"

如果你想使用 SSH 密钥进行认证(推荐),则执行等效命令:

$ sftpman create \
--id "my-machine" \
--host "HOSTNAME_OR_IP" \
--user "USERNAME" \
--auth_type=publickey \
--ssh_key "/PATH/TO/PRIVATE_KEY" \
--mount_point "/REMOTE_PATH"

上述设置是定义 sftpman 可挂载的新文件系统的最低要求。根据你的环境,你可能需要配置其他选项(例如 --port,默认值为 22)。要查看可用选项的完整列表,请执行:

$ sftpman create --help

你也可以使用 GUI 应用程序更轻松地定义新文件系统。

挂载/卸载

一旦定义了多个文件系统,你就可以通过它们的 ID 来挂载它们。

挂载命令:

$ sftpman mount my-machine

这将把文件系统挂载到 /mnt/sshfs/my-machine

要卸载

$ sftpman umount my-machine
注意 为了让 GUI 应用程序在挂载时能够要求你输入密码,你需要安装某种形式的 ssh askpass 工具。参见 SSH keys#x11-ssh-askpass

移除已定义的文件系统

要从 sftpman 的列表中移除一个已定义的文件系统,请执行:

$ sftpman rm machine-id

了解更多

要查看 sftpman 支持的更多命令和选项列表,请查阅帮助:

$ sftpman help

故障排除

sftpman 可以对环境进行一些基本检查,这可能会发现一些潜在问题:

$ sftpman preflight_check

如果在挂载时 GUI 应用程序没有要求你输入密码(使用密码认证或受密码保护的 SSH 密钥时),你需要安装 ssh askpass 工具,参见 #挂载/卸载

注意 如果挂载文件系统失败,sftpman 将向你提供完整的 sshfs 命令及其输出。你可以手动运行该命令(可能在添加更多调试选项后,以便看到更多输出)。

在使用密钥进行身份验证时,请先从小步开始,在尝试使用 sshfs 及其辅助工具(如 sftpman)之前,先手动尝试确保 SSH 连接确实可行。一些常见问题可以通过查阅 Using SSH Keys#Troubleshooting 来解决。

另请参阅 SSHFS#Troubleshooting

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.