前書き

FreeBSDは、さまざまなサーバーの役割に適した安全で高性能なオペレーティングシステムです。 このガイドでは、FreeBSDサーバーの使用を開始する方法に関する基本的な情報をいくつか取り上げます。

このガイドは、FreeBSDサーバーの一般的なセットアップを提供することを目的としていますが、FreeBSDのバージョンによって機能が異なる可能性があることに注意してください。 サーバーが実行しているFreeBSDのバージョンによっては、ここで説明する手順が説明どおりに機能しない場合があります。

SSHでログインする

FreeBSDサーバーの設定を開始するために必要な最初のステップは、ログインすることです。

DigitalOceanでは、FreeBSDサーバーを作成するときに公開SSHキーを提供する必要があります。 このキーはサーバーインスタンスに追加され、関連付けられた秘密キーを使用してローカルマシンから安全にログインできます。 DigitalOceanのFreeBSDでSSHキーを使用する方法の詳細については、https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-freebsd-server [このガイドに従ってください]。

サーバーにログインするには、サーバーのパブリックIPアドレスを知る必要があります。 DigitalOcean Dropletsの場合、この情報はコントロールパネルにあります。 DigitalOceanで作成されたFreeBSDサーバーで利用可能なメインユーザーアカウントは、* freebsd *と呼ばれます。 このユーザーアカウントは、 `+ sudo +`特権で設定され、管理タスクを完了することができます。

FreeBSDサーバーにログインするには、 `+ ssh +`コマンドを使用します。 サーバーのパブリックIPアドレスとともに* freebsd *ユーザーアカウントを指定する必要があります。

自動的に認証され、ログインする必要があります。 コマンドラインインターフェイスにドロップされます。

デフォルトのシェルをtcshに変更(オプション)

FreeBSD 11を実行しているDigitalOcean Dropletにログインした場合、次のような非常に最小限のコマンドプロンプトが表示されます。

FreeBSDを使用するのが初めての場合、このプロンプトはなじみがないかもしれません。 どのような環境で作業しているのかを明確にしてみましょう。 次のコマンドを実行して、* freebsd *ユーザーのデフォルトシェルを確認します。

echo $SHELL
Output/bin/sh

この出力では、* freebsd *ユーザーのデフォルトシェルが + sh +(_Bourne shell_とも呼ばれます)であることがわかります。 Linuxシステムでは、多くの場合、「+ sh 」は「 bash 」のエイリアスです。これは、いくつかの追加機能を含むBourneシェルの無料ソフトウェア代替品です。 ただし、FreeBSDでは、実際にはエイリアスではなく、古典的な ` sh +`シェルプログラムです。

FreeBSDのデフォルトのコマンドラインシェルは `+ tcsh `ですが、FreeBSDを実行しているDigitalOcean Dropletsはデフォルトで ` sh `を使用します。 * freebsd *ユーザーのデフォルトシェルとして「 tcsh +」を設定する場合は、次のコマンドを実行します。

sudo chsh -s /bin/tcsh freebsd

次回サーバーにログインすると、 `+ sh `プロンプトの代わりに ` tcsh `プロンプトが表示されます。 以下を実行することで、現在のセッションの ` tcsh +`シェルを呼び出すことができます。

tcsh

プロンプトはすぐに次のように変わります。

Bourneシェルに戻りたい場合は、 `+ sh +`コマンドを使用して実行できます。

通常、 `+ tcsh +`はFreeBSDシステムのデフォルトシェルですが、デフォルトのポケットベルやエディター、特定のキーの動作など、ユーザーが独自に調整する傾向があるいくつかのデフォルト設定があります。 これらのデフォルトの一部を変更する方法を説明するために、シェルの構成ファイルを変更します。

構成ファイルの例は既にファイルシステムに含まれています。 必要に応じて変更できるように、ホームディレクトリにコピーします。

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

ファイルをホームディレクトリにコピーしたら、編集できます。 `+ vi `エディターはデフォルトでシステムに含まれていますが、よりシンプルなエディターが必要な場合は、代わりに ` ee +`エディターを試すことができます:

ee ~/.cshrc

このファイルを使用して、変更するエントリを決定できます。 特に、 `+ setenv +`エントリを変更して、より精通した特定のデフォルトを設定することができます。

〜/ .cshrc

. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

`+ vi `エディタに慣れておらず、より基本的な編集環境が必要な場合は、 ` EDITOR `環境変数を ` ee `のようなものに変更できます。 ほとんどのユーザーは、「 PAGER 」を「 more 」ではなく「 less +」に変更したいと思うでしょう。 これにより、ページャーを終了せずにmanページを上下にスクロールできます。

〜/ .cshrc

. . .
setenv  EDITOR
setenv  PAGER
. . .

この設定ファイルに追加する可能性のある別のことは、 `+ 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

すぐには明らかにならないかもしれませんが、* Home Insert Delete 、および End *キーは期待どおりに機能するようになりました。

この時点で注意すべきことは、 `+ tcsh `または ` csh `シェルを使用している場合、実行可能パスに影響を与える可能性のある変更が行われるたびに ` rehash +`コマンドを実行する必要があることです。 これが発生する一般的なシナリオは、アプリケーションをインストールまたはアンインストールするときに発生します。

プログラムをインストールした後、シェルが新しいアプリケーションファイルを見つけるためにこれを入力する必要がある場合があります。

rehash

これにより、 `+ tcsh +`シェルは* freebsd *ユーザーのデフォルトとして設定されるだけでなく、はるかに使いやすくなります。

bashをデフォルトのシェルとして設定(オプション)

`+ bash +`シェルに精通しており、それをデフォルトのシェルとして使用したい場合は、いくつかの短い手順でその調整を行うことができます。

まず、次のように入力して `+ bash +`シェルをインストールする必要があります。

sudo pkg install bash

パッケージをダウンロードすることを確認するプロンプトが表示されます。 そのためには、「+ y 」を押してから「 ENTER +」を押します。

インストールが完了したら、次を実行して `+ bash +`を起動できます。

bash

これにより、シェルプロンプトが次のように更新されます。

  • freebsd *のデフォルトシェルを `+ bash +`に変更するには、次のように入力します。

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

次回ログインすると、現在のデフォルトではなく、 `+ bash +`シェルが自動的に開始されます。

+ bash`シェルでデフォルトのページャーまたはエディターを変更したい場合は、 +〜/ .bash_profile`というファイルで変更できます。 これはデフォルトでは存在しないため、作成する必要があります。

ee ~/.bash_profile

内部で、デフォルトのページャーまたはエディターを変更するには、次のように選択を追加します。

〜/ .bash_profile

export PAGER=
export EDITOR=

終了したら、ファイルを保存して閉じ、 `+ CTRL + C `を押し、 ` exit `を入力して、 ` ENTER +`を押します。

変更をすぐに実装するには、ファイルを「+ source +」します:

source ~/.bash_profile

特別なコマンドエイリアスの設定や環境変数の設定など、シェル環境にさらに変更を加えたい場合は、そのファイルを再度開いて新しい変更を追加できます。

ルートパスワードの設定(オプション)

デフォルトでは、FreeBSDサーバーは* root アカウントの `+ ssh +`ログインを許可しません。 DigitalOceanでは、このポリシーは、 freebsd *アカウントでログインするようユーザーに指示するために補足されています。

  • root ユーザーアカウントはSSH経由ではアクセスできないため、 root アカウントパスワードを設定するのは比較的安全です。 これを使用してSSH経由でログインすることはできませんが、このパスワードを使用して、DigitalOcean Webコンソールから root *としてログインできます。

  • root *パスワードを設定するには、次を入力します。

sudo passwd
  • root *アカウントのパスワードを選択して確認するように求められます。 上記のように、これをSSH認証に使用することはできません(これはセキュリティ上の決定です)が、DigitalOceanコンソールからログインするために使用できます。

これを行うには、ドロップレットのページの右上隅にある[コンソール]ボタンをクリックして、ウェブコンソールを表示します。

image:https://assets.digitalocean.com/articles/freebsd_set_pass/console_access_2018.png [DigitalOcean Webコンソール]

_not_を選択してパスワードを設定し、サーバーからロックアウトされた場合(たとえば、誤って過度に制限されたファイアウォールルールを設定した場合)、Dropletをシングルユーザーモードで起動することにより、いつでも設定できます。 https://www.digitalocean.com/docs/droplets/resources/freebsd-lost-password/ [こちら]でその方法を説明したガイドがあります。

結論

ここまでで、FreeBSDサーバーにログインする方法と、bashシェル環境をセットアップする方法を知っているはずです。 次の良いステップは、FreeBSDの基本とLinuxベースのディストリビューションとの違いを理解することです。

FreeBSDに慣れて、ニーズに合わせて設定すると、柔軟性、セキュリティ、およびパフォーマンスをさらに活用できるようになります。