如何在 Linux 上使用 SSH 创建个人文件服务器

通过 SSH 连接到远程 Linux 系统非常简单。以下是如何操作。
134 位读者喜欢这个。
Why the operating system matters even more in 2017

互联网档案馆书籍图片。由 Opensource.com 修改。CC BY-SA 4.0

Raspberry Pi 可以作为许多用途的实用且廉价的家庭服务器。我最常使用 Raspberry Pi 作为打印服务器,与家中的其他设备共享激光打印机,或者作为个人文件服务器来存储项目和其他数据的副本。

我以各种方式使用这个文件服务器。假设我正在做一个项目,比如一本新书,我想制作一个我的工作和所有相关文件的快照副本。在这种情况下,我只需将我的 BookProject 文件夹复制到文件服务器上的 BookBackup 文件夹中。

或者,如果我正在清理我的本地文件,并且我发现了一些我并不真正需要但又不想删除的文件,我会将它们复制到文件服务器上的 KeepForLater 文件夹中。这是一种方便的方式,可以消除我日常 Linux 系统中的杂乱,并将不常用的文件卸载到我的个人文件服务器。

将 Raspberry Pi 或任何 Linux 系统设置为个人文件服务器,不需要配置网络文件系统 (NFS) 或通用 Internet 文件系统 (CIFS),也不需要修改 WebDAV 等其他文件共享系统。您可以使用 SSH 轻松设置远程文件服务器。以下是方法。

在远程系统上设置 SSHD

您的 Linux 系统可能已安装 SSH 守护程序 (sshd)。它甚至可能默认运行。如果不是,您可以通过您喜欢的 Linux 发行版上的任何控制面板轻松设置 SSH。我在我的 Raspberry Pi 上运行 Fedora ARM,我可以通过将我的 Pi 的 Web 浏览器指向端口 9090 来远程访问控制面板。(在我的家庭网络中,Raspberry Pi 的 IP 地址是 10.0.0.11,所以我连接到 10.0.0.11:9090。)如果 SSH 守护程序默认未运行,您可以将其设置为在控制面板的“服务”中自动启动。

sshd in the list of system services

您可以在系统服务列表中找到 sshd。

slider to activate sshd

如果 sshd 尚未激活,请单击滑块激活它

您有帐户吗?

确保您在远程系统上有一个帐户。它可能与您在本地系统上使用的用户名相同,也可能不同。

在流行的 Raspbian 发行版上,默认帐户用户名是 pi。但是,其他 Linux 发行版可能要求您在安装时设置一个唯一的新用户。如果您不知道您的用户名,您可以使用您发行版的控制面板创建一个。在我的 Raspberry Pi 上,我设置了一个 jhall 帐户,它与我的日常 Linux 桌面计算机上的用户名匹配。

Set up a new account on Fedora Server

如果您使用 Fedora Server,请单击“创建新用户”按钮以设置一个新帐户。

Set password or SSH key

如果您使用 Fedora Server,请单击“创建新用户”按钮以设置一个新帐户

可选:共享您的 SSH 公钥

如果您与远程 Linux 系统交换您的公共 SSH 密钥,您可以登录而无需输入密码。此步骤是可选的;如果您愿意,可以使用密码。

您可以在这些 Opensource.com 文章中了解有关 SSH 密钥的更多信息

创建一个文件管理器快捷方式

由于您已在远程系统上启动了 SSH 守护程序并设置了您的帐户用户名和密码,因此剩下的就是从您的文件管理器映射到另一个 Linux 系统的快捷方式。我使用 GNOME 作为我的桌面,但对于任何 Linux 桌面,步骤基本相同。

建立初始连接

在 GNOME 文件管理器中,在左侧导航栏中查找 +Other Locations 按钮。单击它以打开 连接到服务器 提示。在此处输入远程 Linux 服务器的地址,从 SSH 连接协议开始。

Creating a shortcut in GNOME file manager

GNOME 文件管理器支持多种连接协议。要通过 SSH 建立连接,请以 sftp://ssh:// 开始您的服务器地址。

如果您的用户名在您的本地 Linux 系统和您的远程 Linux 系统上相同,您可以只输入服务器的地址和文件夹位置。为了建立与我的 Raspberry Pi 上的 /home/jhall 目录的连接,我使用

sftp://10.0.0.11/home/jhall

GNOME file manager Connect to Server

如果您的用户名不同,您可以在远程系统的地址之前使用 @ 符号指定您的远程系统的用户名。要连接到另一端的 Raspbian 系统,您可以使用

sftp://pi@10.0.0.11/home/pi

GNOME file manager Connect to Server

如果您没有共享您的公共 SSH 密钥,您可能需要输入密码。否则,GNOME 文件管理器应自动打开远程系统上的文件夹并允许您导航。

GNOME file manager connection

创建一个快捷方式,以便您可以稍后轻松连接到服务器

这在 GNOME 文件管理器中很容易。右键单击导航列表中的远程系统的名称,然后选择 添加书签。这将创建一个指向远程位置的快捷方式。

GNOME file manager - adding bookmark

如果您想为书签提供一个更令人难忘的名称,您可以右键单击快捷方式并选择 重命名

就是这样!

通过 SSH 连接到远程 Linux 系统非常简单。您可以使用相同的方法连接到家庭文件服务器以外的系统。我还有一个快捷方式,可以让我立即访问我的提供商的 Web 服务器上的文件,另一个快捷方式可以让我打开我的项目服务器上的文件夹。SSH 使其成为安全连接;我的所有流量都被加密。一旦我通过 SSH 打开了远程系统,我就可以使用 GNOME 文件管理器来管理我的远程文件,就像我管理我的本地文件夹一样容易。

接下来阅读什么
标签
photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发人员,以 GNOME 中的可用性测试以及 FreeDOS 的创始人 + 项目协调员而闻名。

10 条评论

当您似乎在谈论您本地网络上的某些东西时,我对您所说的“远程服务器”有点困惑。

“本地”服务器是指在本地系统上运行的服务器。这通常指的是诸如在与 Web 服务器相同的服务器上运行的数据库服务器。

“远程”服务器是指在另一个系统上运行的服务器。例如,当数据库服务器位于与 Web 服务器不同的服务器上时,数据库服务器对于 Web 服务器来说是一个“远程”服务器。为了获得最佳安全性,“远程”服务器通常存在于防火墙后面,有时位于另一个网络上 - 但“远程”服务器也可以存在于同一子网中。

这就是我使用术语“远程服务器”的方式。它是一个“远程服务器”,因为 SSH 文件服务器不是在我的 Linux 桌面计算机上运行,而是在我网络上的其他地方的 Raspberry Pi 上运行。

回复 作者 Greg P

那是一个关于硬盘休眠的很好的链接和参考。就我而言,我的 microSD 卡上的 /home 有相当多的可用空间。文章中没有提到的是一个 USB 闪存驱动器,它被挂载为 /backup,我用它来做其他的事情。

对于写入大量数据(比如对我的常用 Linux 桌面 PC 进行完整备份)来说,两者都不是特别快,但是对于创建项目文件夹的备份副本,或者存储一些我不想删除但不需要保留的东西来说,它就足够了。

回复 ,作者:Steve B (未验证)

这也是我阅读这篇文章时担心的问题…… 你应该需要一个公共 IP 地址才能远程连接,或者动态 DNS 可以做到这一点吗?

多年前,我设置了一台家用电脑,以便我可以远程连接。你要做的第一件事是让你的 ISP 给你一个固定的 IP 地址。第二件事是设置你的 hostsallow 和 hostsdeny,允许你自己访问,但阻止几乎所有人(我已经忘记这些文件在哪里了)。
我发现的是,你立即会被来自世界各地的尝试登录你的系统的请求所包围(显然,有一些机器人不断寻找 IP 地址来获取访问权限),因此,阻止这些人进入极其重要,你必须不断查看你的日志,了解发生了什么。最后,我决定这种好处不值得焦虑和风险。

回复 ,作者:dadeng

同意文章的内容 - 但是我发现(至少对我而言 - 你的经验可能不同),使用 sshfs 更简单。

使用方法
在你的“服务器”(托管文件的地方)上

* 安装 ssh(如上所述)

在你的客户端上

* 安装 sshf

* 创建一个目录(例如 ~/Remote)

使用

* sshfs username@remote:/target-directory ~/Remote

#使用适当的名称替换

#输入密码,如果你还没有设置证书

* 直接使用 ~/Remote 访问服务器上的文件,权限与 username 相同

* 完成后,fusermount -u ~/Remote

我认为这将成为 OpenSource 的一篇很棒的文章!我鼓励你写一篇关于使用 sshfs 通过 SSH 挂载文件系统的文章。你可以联系编辑提交你的主题。

回复 ,作者:andrew baldwin (未验证)

Creative Commons License此作品根据知识共享署名-相同方式共享 4.0 国际许可协议授权。
© . All rights reserved.