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

通过 SSH 连接到远程 Linux 系统非常简单。 这是具体方法。
134 位读者喜欢这篇文章。
Why the operating system matters even more in 2017

Internet Archive Book Images。由 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 文件管理器中,在左侧导航栏中查找 +其他位置 按钮。 单击该按钮以打开 连接到服务器 提示。 在此处输入远程 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 访问服务器上的文件,权限与用户名相同

* 完成后,fusermount -u ~/Remote

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

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

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.