序章

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

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

SSHでログインする

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

DigitalOceanでは、FreeBSDサーバーを作成するときに公開SSHキーを提供する必要があります。 このキーはサーバーインスタンスに追加され、関連付けられた秘密キーを使用してローカルマシンから安全にログインできるようにします。 DigitalOceanでFreeBSDでSSHキーを使用する方法の詳細については、このガイドに従ってください。

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

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

  1. ssh [email protected]your_server_ip

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

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

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

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

  1. echo $SHELL
Output
/bin/sh

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

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

  1. sudo chsh -s /bin/tcsh freebsd

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

  1. tcsh

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

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

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

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

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

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

  1. ee ~/.cshrc

このファイルを確認しながら、変更する可能性のあるエントリを決定できます。 特に、setenvエントリを変更して、より使い慣れた特定のデフォルトを設定することをお勧めします。

〜/ .cshrc
. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

viエディターに慣れておらず、より基本的な編集環境が必要な場合は、EDITOR環境変数をeeのようなものに変更できます。 ほとんどのユーザーは、PAGERmoreではなくlessに変更することをお勧めします。 これにより、ポケットベルを終了せずにマニュアルページを上下にスクロールできます。

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

この構成ファイルに追加する可能性が高いもう1つのことは、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を押して、ファイルを保存して閉じます。

現在のセッションにこれらの変更をすぐに反映させるには、構成ファイルを入手します。

  1. source ~/.cshrc

すぐにはわからないかもしれませんが、 Home Insert Delete Endキーは期待どおりに機能します。

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

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

  1. rehash

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

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

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

ノート: bash is not supported on FreeBSD 11.1, and the instructions in this section will not work for that particular version.

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

  1. sudo pkg install bash

パッケージをダウンロードすることを確認するように求められます。 yを押してから、ENTERを押します。

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

  1. bash

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

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

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

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

bashシェルのデフォルトのポケットベルまたはエディタを変更する場合は、~/.bash_profileというファイルで変更できます。 これはデフォルトでは存在しないため、次のように作成する必要があります。

  1. ee ~/.bash_profile

内部で、デフォルトのポケットベルまたはエディタを変更するには、次のように選択を追加します。

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

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

変更をすぐに実装するには、ファイルをsourceします。

  1. source ~/.bash_profile

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

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

デフォルトでは、FreeBSDサーバーは、パスワードを使用したrootアカウントへのsshログインを許可していません。 公開鍵認証は機能しますが、DigitalOceanでは、このポリシーが補足され、freebsdアカウントでログインするようにユーザーに指示しています。

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

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

sudo passwd

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

これを行うには、Dropletのページの右上隅にある Console ボタンをクリックして、Webコンソールを表示します。

DigitalOcean web console

ではなくを選択してパスワードを設定し、サーバーからロックアウトされた場合(たとえば、誤って過度に制限されたファイアウォールルールを設定した場合)、Dropletをシングルユーザーモードで起動することにより、いつでも後でパスワードを設定できます。 その方法を示すガイドがここにあります。

結論

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

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