介绍
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用户的默认 shell是sh
(也称为Bourne shell)。在 Linux 系统上,sh
通常是 的别名bash
,它是 Bourne shell 的免费软件替代品,包括一些额外的功能。然而,在 FreeBSD 中,它实际上是经典的sh
shell 程序,而不是别名。
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
条目以具有您可能更熟悉的特定默认值。
. . .
setenv EDITOR vi
setenv PAGER more
. . .
如果您不熟悉vi
编辑器并且想要更基本的编辑环境,您可以将EDITOR
环境变量更改为类似ee
. 大多数用户希望将 更改PAGER
为less
而不是more
。这将允许您在不退出寻呼机的情况下在手册页中上下滚动:
. . .
setenv EDITOR ee
setenv PAGER less
. . .
您可能希望添加到此配置文件的另一件事是一段代码,它将正确映射tcsh
会话中的某些键盘键。在文件底部,添加以下代码。如果没有这些行,DELETE
其他键将无法正常工作:
. . .
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
它可能不会立即显现,但Home、Insert、Delete和End键现在将按预期工作。
此时需要注意的一件事是,如果您正在使用tcsh
或csh
外壳程序,则rehash
无论何时进行任何可能影响可执行路径的更改,您都需要执行该命令。安装或卸载应用程序时可能发生这种情况的常见情况。
安装程序后,您可能需要键入以下内容,以便 shell 找到新的应用程序文件:
- rehash
这样,tcsh
shell 不仅被设置为您的freebsd用户的默认值,而且它也更加可用。
将 bash 设置为默认 Shell(可选)
如果您更熟悉bash
shell 并且更喜欢将其用作默认 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
下次登录时,bash
shell 将自动启动,而不是当前的默认值。
如果您希望更改bash
shell 中的默认寻呼机或编辑器,您可以在名为~/.bash_profile
. 默认情况下这将不存在,因此您需要创建它:
- ee ~/.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 控制台:
如果您选择不设置密码并且您的服务器被锁定(例如,如果您不小心设置了过于严格的防火墙规则),您可以稍后通过将您的 Droplet 启动到单用户模式来设置密码。我们有一个指南,向您展示如何在此处执行此操作。
结论
到目前为止,您应该知道如何登录到 FreeBSD 服务器以及如何设置 bash shell 环境。下一步是熟悉一些 FreeBSD 基础知识以及它与基于 Linux 的发行版的不同之处。
一旦您熟悉了 FreeBSD 并根据您的需要对其进行了配置,您将能够更好地利用它的灵活性、安全性和性能。