NetBSDインストール後の環境設定
今日の記事では、NetBSDインストール後の一通りの環境設定について書こうと思います。
sshログインができるようになる所までの手順になります。
VirtualBoxからNAT接続するための設定
昨日の記事ではVirtualBox上の仮想マシンにNetBSDをインストールしてみました。
仮想マシンはNATでネットワークに接続する形にしたいと思いますが、これに関連して、あらかじめVirtualBox側でポートフォワーディングの設定を行っておきます。
「ポートフォワーディング」を選択し、2222番ポートへの要求が仮想マシン(NetBSD)の22番ポートにリダイレクトされるよう設定します。
インストール後の設定
NetBSDを起動、rootユーザでログインした状態で以降の手順を実施します。
ホスト名を設定する
デフォルトのホスト名は"Amunesiac"になっているので、以下のようにしてホスト名を設定します。私が今期のアニメでかなりハマっている「四月は君の嘘」になぞらえて、ホスト名は"kimiuso"にしてみましょう。
(実際は"nbsd615amd64"とか区別の付けやすいホスト名にしてくださいおねがいします...)
ネットワークインタフェースの設定
次にネットワークインタフェースを設定します。wm0という名前のインタフェースに設定します。
NAT接続な環境なのでDHCPでIPアドレスを取得する設定にします。設定は/etc/rc.confというファイルに行い、以下の内容を追記します。
パッケージ
ユーザの追加等を行う前に、最低限必要になるパッケージをインストールします。NetBSDは最初からパッケージがわんさか入っているのではなく、ちょうどCentOSでのminimalインストールのような、最小限の配布セットのみが展開される形になっています。
PKG_PATHの設定
NetBSDでは、インターネット上にあるパッケージのURLを、PKG_PATH環境変数で保持しています。これは.profileに記載されているのですが、デフォルトではコメントアウト(に加え、writeパーミッションが落とされている)されているので、これを変更します。
# chmod +w ~/.profile
# vi ~/.profile
PKG_PATHの行のコメントを外し、ログアウト→もう一度ログインすると、PKG_PATH環境変数が設定されています。
pkg_addでのアプリケーションインストール
パッケージをインストールする前に、ネットワークインタフェースにIPアドレスが振られていないので、今回だけは手動でDHCPによるIPアドレス取得を行います。
パッケージはpkg_addコマンドでインストールします。まずはsudoとbash(お好みでzsh)を入れてみます。
sudoの設定
パッケージでインストールしたsudoの設定を行います。wheelグループに所属するユーザがsudoによるroot権限取得が可能になるよう設定します。
ユーザを作成する
最後にユーザを作成します。今回はユーザtsubakiを作成してみます。sudo可能にしたいので、"-G"オプションでセカンダリグループとしてwheelを指定します。
ユーザ作成後には忘れずにパスワードを設定します。
オプションの意味は以下の通りです。
- -s ...プライマリグループを指定する
- -G ...セカンダリグループを指定する
- -m ...ホームディレクトリを作成する
- -s ...利用するシェルを指定する
NetBSDを再起動する
ここまででNetBSDインストール後の環境設定は完了です。再起動後、/etc/rc.conf等の設定が反映されているか確認します。
# shutdown -r now
ssh公開鍵を登録する
ここからはローカルマシンの端末(Terminal.app)からNetBSDにsshログインするための設定を行います。
まずはssh公開鍵を作成します。
$ ssh-keygen -t rsa -b 2048 -f tsubaki_key
作成した鍵をNetBSDにscpでコピーします。(NetBSDのsshd_configはデフォルトでPasswordAuthentication yesになっています)
$ scp -P 2222 tsubaki_key.pub tsubaki@localhost:~/
tsubaki_key.pub 100% 402 0.4KB/s 00:00
pleiades .ssh $
次に今度はsshログインして、先ほどコピーした公開鍵をauthorized_keysに登録します。
$ ssh -p 2222 tsubaki@localhost
...
NetBSD 6.1.5 (GENERIC)
Welcome to NetBSD!
-bash-2.05b$ mkdir -m 700 .ssh
-bash-2.05b$ mv tsubaki_key.pub .ssh/authorized_keys
-bash-2.05b$ chmod 600 .ssh/authorized_keys
これでパスワードでの認証は不要になる(残していてもセキュリティ上よくない)ので、/etc/ssh/sshd_configにPasswordAuthentication noを設定してsshdを再起動します。
$ sudo /etc/rc.d/sshd restart
Stopping sshd.
Starting sshd.
あと、毎回sshでユーザ名やポート番号を指定するのは面倒なので、~/.ssh/configに以下の内容を追加します。
Host kimiuso
Hostname 127.0.0.1
Port 2222
User tsubaki
IdentityFile ~/.ssh/tsubaki_key
これでssh kimiusoと入力するだけで済むようになります。
$ ssh kimiuso
Last login: Tue Dec 2 23:06:44 2014 from 10.0.2.2
NetBSD 6.1.5 (GENERIC)
Welcome to NetBSD!
-bash-2.05b$
これでローカルマシンの端末から仮想マシン上のNetBSDにsshログインできるようになりました。明日の記事では、この環境でのプログラミングに関するネタを書こうと思います。