如何在 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

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

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

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

将树莓派或任何 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(如上所述)

在您的客户端上

* 安装 sshfs

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

使用方法

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

#使用适当的名称替换

#输入密码,如果您尚未设置证书

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

* 完成后,fusermount -u ~/Remote

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

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

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