介绍
FreeBSD是一种安全,高性能的操作系统,适用于各种服务器角色。 在本指南中,我们将介绍有关如何开始使用FreeBSD服务器的一些基本信息。
本指南旨在为FreeBSD服务器提供一般设置,但请注意,不同版本的FreeBSD可能具有不同的功能。 根据您的服务器运行的FreeBSD版本,此处提供的说明可能无法正常工作。
使用SSH登录
开始配置FreeBSD服务器需要采取的第一步是登录。
在DigitalOcean上,您必须在创建FreeBSD服务器时提供公共SSH密钥。 此密钥已添加到服务器实例,允许您使用关联的私钥从本地计算机安全登录。 要了解有关如何在DigitalOcean上使用FreeBSD的SSH密钥的更多信息,请遵循本指南 。
要登录服务器,您需要知道服务器的公共IP地址。 对于DigitalOcean Droplet,您可以在控制面板中找到此信息。 通过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
的别名, bash
是Bourne shell的免费软件替代品,包括一些额外的功能。 然而,在FreeBSD中,它实际上是经典的sh
shell程序,而不是别名。
FreeBSD的默认命令行shell是tcsh
,但运行FreeBSD的DigitalOcean Droplets默认使用sh
。 如果您想将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
shell,则只要进行任何可能影响可执行路径的更改,就需要执行rehash
命令。 在安装或卸载应用程序时,可能会发生这种情况。
安装程序后,您可能需要键入此命令以便shell找到新的应用程序文件:
rehash
有了这个, tcsh
shell不仅被设置为你的freebsd用户的默认设置,而且它也更加实用。
将bash设置为默认Shell(可选)
如果您更熟悉bash
shell并希望将其用作默认shell,则可以通过几个简短的步骤进行调整。
注意: FreeBSD 11.1不支持bash
,本节中的说明不适用于该特定版本。
首先,您需要键入以下命令来安装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 ~/.bash_profile
如果您想对shell环境进行进一步更改,例如设置特殊命令别名或设置环境变量,则可以重新打开该文件并将新更改添加到其中。
设置Root密码(可选)
默认情况下,FreeBSD服务器不允许root帐户的ssh
登录。 在DigitalOcean上,此政策已经过补充,可以告诉用户使用freebsd帐户登录。
由于无法通过SSH访问root用户帐户,因此设置root帐户密码相对安全。 虽然您无法使用此功能通过SSH登录,但您可以使用此密码以root身份通过DigitalOcean Web控制台登录。
要设置root密码,请键入:
sudo passwd
系统将要求您选择并确认root帐户的密码。 如上所述,您仍然无法将其用于SSH身份验证(这是一项安全决策),但您可以使用它通过DigitalOcean控制台登录。
为此,请单击Droplet页面右上角的“ 控制台”按钮以显示Web控制台:
如果您选择不设置密码并且您被锁定在服务器之外(例如,如果您不小心设置了过于严格的防火墙规则),您可以随后通过将Droplet引导到单用户模式来设置密码。 我们有一个指南,告诉你如何在这里做到这一点 。
结论
到目前为止,您应该知道如何登录FreeBSD服务器以及如何设置bash shell环境。 下一步是熟悉一些FreeBSD基础知识,以及它与基于Linux的发行版的不同之处。
熟悉FreeBSD并根据需要进行配置后,您将能够更好地利用其灵活性,安全性和性能。