sshdの設定

MacのVMWare上にあるFreeBSD7.0に対してsshdサーバを設定を行いました。

自動起動の設定

sshdは、既に入っているので、OS起動時に起動するよう設定。
/etc/rc.d に以下を追加。

sshd_enable="YES"

これでOSを再起動。

#ps aux | grep sshd

として、sshdが起動していることを確認
また、クライアントから以下のようにして接続するとFreeBSD側のパスワードで接続できる(FreeBSD側にアカウントを作成していることが前提)ことを確認

#ssh <IPアドレス>

公開鍵の用意

今回、公開鍵を使用しての認証を行うので、rsaの公開鍵を用意。今回は既存の公開鍵を使うことにする。
まず、サーバ(FreeBSD)のホームディレクトに.sshディレクトリを作成する。sshでログインするユーザになって

#cd ~/
#mkdir .ssh

のようにする。

それから、作成済みの公開鍵のあるクライアントのディレクトリから以下のようにしてコピー

#scp authorized_keys <ホストのIP>:<ホームディレクトリ>/.ssh

公開鍵で認証を行うよう設定

ホスト(FreeBSD)でルートアカウントになって、/etc/ssh/sshd_config で以下の3つの設定を行う(コメントあうとされているので、コメントをはずす)。

PubkeyAuthentication yes

PasswordAuthentication no

UsePAM no 

PubkeyAuthenticationで公開キーを使用した認証を行えるようにする。
PasswordAuthenticationとUsePAMをnoに指定して、OSのアカウントでの認証を行えないようにする。

これで、sshdを再起動、

#ps aux | grep sshd

のようにして、sshdのプロセスIDを探し。

killコマンドを

#kill -HUP <プロセスID>

のように実行して、sshdを再起動する。


以上で、公開鍵での認証による接続ができるようになりました(もちろん、クライアント側には秘密鍵が)。