如何开始使用 FreeBSD

介绍

FreeBSD是一种安全、高性能的操作系统,适用于各种服务器角色。在本指南中,我们将介绍有关如何开始使用 FreeBSD 服务器的一些基本信息。

本指南旨在为 FreeBSD 服务器提供一般设置,但请注意不同版本的 FreeBSD 可能具有不同的功能。根据您的服务器运行的 FreeBSD 版本,此处提供的说明可能无法按描述工作。

使用 SSH 登录

开始配置 FreeBSD 服务器所需的第一步是登录。

在 DigitalOcean 上,您必须在创建 FreeBSD 服务器时提供公共 SSH 密钥。此密钥已添加到服务器实例,允许您使用关联的私钥从本地计算机安全登录。要了解有关如何在 DigitalOcean 上的 FreeBSD 中使用 SSH 密钥的更多信息,请遵循本指南

要登录到您的服务器,您需要知道服务器的公共 IP 地址。对于 DigitalOcean Droplets,您可以在控制面板中找到此信息。通过 DigitalOcean 创建的 FreeBSD 服务器上可用的主要用户帐户称为freebsd此用户帐户配置有sudo权限,允许您完成管理任务。

要登录到您的 FreeBSD 服务器,请使用该ssh命令。您需要指定freebsd用户帐户以及服务器的公共 IP 地址:

  • ssh freebsd@your_server_ip

您应该会自动进行身份验证并登录。您将进入命令行界面。

将默认 Shell 更改为 tcsh(可选)

如果您登录到运行 FreeBSD 11 的 DigitalOcean Droplet,您将看到一个非常小的命令提示符,如下所示:

如果您是 FreeBSD 的新手,这个提示对您来说可能有点陌生。让我们弄清楚我们在什么样的环境中工作。运行以下命令来查看您的freebsd用户的默认 shell是什么:

  • echo $SHELL
Output
/bin/sh

在此输出中,您可以看到freebsd用户的默认 shellsh(也称为Bourne shell)。在 Linux 系统上,sh通常是 的别名bash,它是 Bourne shell 的免费软件替代品,包括一些额外的功能。然而,在 FreeBSD 中,它实际上是经典的shshell 程序,而不是别名。

FreeBSD 的默认命令行 shell 是tcsh,但运行 FreeBSD 的 DigitalOcean Dropletssh默认使用如果您想设置tcsh为您的freebsd用户的默认 shell,请运行以下命令:

  • sudo chsh -s /bin/tcsh freebsd

下次登录服务器时,您将看到tcsh提示而不是sh提示。您可以tcsh通过运行以下命令为当前会话调用shell:

  • tcsh

您的提示应立即更改为以下内容:

如果您想返回到 Bourne shell,您可以使用该sh命令。

尽管tcsh通常是 FreeBSD 系统的默认 shell,但它有一些用户倾向于自行调整的默认设置,例如默认的寻呼机和编辑器,以及某些键的行为。为了说明如何更改其中一些默认值,我们将修改 shell 的配置文件。

示例配置文件已包含在文件系统中。将其复制到您的主目录中,以便您可以根据需要对其进行修改:

  • cp /usr/share/skel/dot.cshrc ~/.cshrc

将文件复制到您的主目录后,您可以对其进行编辑。vi编辑器包含在系统默认的,但如果你想有一个简单的编辑器,你可以尝试ee编辑改为:

  • ee ~/.cshrc

在浏览此文件时,您可以决定要修改哪些条目。特别是,您可能希望更改setenv条目以具有您可能更熟悉的特定默认值。

~/.cshrc
. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

如果您不熟悉vi编辑器并且想要更基本的编辑环境,您可以将EDITOR环境变量更改为类似ee. 大多数用户希望将 更改PAGERless而不是more这将允许您在不退出寻呼机的情况下在手册页中上下滚动:

~/.cshrc
. . .
setenv  EDITOR  ee
setenv  PAGER   less
. . .

您可能希望添加到此配置文件的另一件事是一段代码,它将正确映射tcsh会话中的某些键盘键在文件底部,添加以下代码。如果没有这些行,DELETE其他键将无法正常工作:

~/.cshrc
. . .
if ($term == "xterm" || $term == "vt100" \
            || $term == "vt102" || $term !~ "con*") then
          # bind keypad keys for console, vt100, vt102, xterm
          bindkey "\e[1~" beginning-of-line  # Home
          bindkey "\e[7~" beginning-of-line  # Home rxvt
          bindkey "\e[2~" overwrite-mode     # Ins
          bindkey "\e[3~" delete-char        # Delete
          bindkey "\e[4~" end-of-line        # End
          bindkey "\e[8~" end-of-line        # End rxvt
endif

完成后,通过按CTRL+C,键入exit,然后按保存并关闭文件ENTER如果您改为使用 编辑vi文件,请按ESC、键入:wq,然后按保存并关闭文件ENTER

要使您的当前会话立即反映这些更改,请获取配置文件:

  • source ~/.cshrc

它可能不会立即显现,但HomeInsertDeleteEnd键现在将按预期工作。

此时需要注意的一件事是,如果您正在使用tcshcsh外壳程序,则rehash无论何时进行任何可能影响可执行路径的更改,您都需要执行该命令。安装或卸载应用程序时可能发生这种情况的常见情况。

安装程序后,您可能需要键入以下内容,以便 shell 找到新的应用程序文件:

  • rehash

这样,tcshshell 不仅被设置为您的freebsd用户的默认值,而且它也更加可用。

将 bash 设置为默认 Shell(可选)

如果您更熟悉bashshell 并且更喜欢将其用作默认 shell,则可以通过几个简短的步骤进行调整。

注意: bash在 FreeBSD 11.1 上不受支持,本节中的说明不适用于该特定版本。

首先,您需要bash通过键入以下内容来安装shell:

  • sudo pkg install bash

系统将提示您确认是否要下载该软件包。y,然后按 即可ENTER

安装完成后,可以开始bash运行:

  • bash

这将更新您的 shell 提示,如下所示:

要将freebsd的默认 shell更改bash,您可以键入:

  • sudo chsh -s /usr/local/bin/bash freebsd

下次登录时,bashshell 将自动启动,而不是当前的默认值。

如果您希望更改bashshell 中的默认寻呼机或编辑器,您可以在名为~/.bash_profile. 默认情况下这将不存在,因此您需要创建它:

  • ee ~/.bash_profile

在里面,要更改默认的寻呼机或编辑器,请添加您的选择,如下所示:

~/.bash_profile
export PAGER=less
export EDITOR=ee

完成后,通过按CTRL+C、键入exit,然后按保存并关闭文件ENTER

要立即实施您的更改,source文件:

  • source ~/.bash_profile

如果您想对 shell 环境进行进一步更改,例如设置特殊命令别名或设置环境变量,您可以重新打开该文件并向其中添加新更改。

设置根密码(可选)

默认情况下,FreeBSD 服务器不允许使用密码ssh登录root帐户。尽管公钥认证可以工作,但在 DigitalOcean 上,此策略已被补充以告诉用户使用freebsd帐户登录

由于root用户帐户无法通过 SSH 访问,因此设置一个root帐户密码相对安全虽然您将无法使用此密码通过 SSH 登录,但您可以使用此密码通过 DigitalOcean Web 控制台root身份登录

要设置root密码,请键入:

sudo passwd

系统将要求您选择并确认root帐户的密码如上所述,您仍然无法将其用于 SSH 身份验证(这是一个安全决定),但您可以使用它通过 DigitalOcean 控制台登录。

为此,请单击Droplet 页面右上角控制台按钮以显示 Web 控制台:

DigitalOcean 网络控制台

如果您选择设置密码并且您的服务器被锁定(例如,如果您不小心设置了过于严格的防火墙规则),您可以稍后通过将您的 Droplet 启动到单用户模式来设置密码。我们有一个指南,向您展示如何在此处执行此操作

结论

到目前为止,您应该知道如何登录到 FreeBSD 服务器以及如何设置 bash shell 环境。下一步是熟悉一些 FreeBSD 基础知识以及它与基于 Linux 的发行版的不同之处。

一旦您熟悉了 FreeBSD 并根据您的需要对其进行了配置,您将能够更好地利用它的灵活性、安全性和性能。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁