mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

FreeBSD 10.0 - SSH 公開鍵認証!

[ サーバ構築 ] [ FreeBSD, SSH ]

こんばんは。

「FreeBSD 10.0 - SSH 公開鍵認証」についての記録です。

(旧バージョンでの個人の作業記録を更新しました。興味がなければスルーしてください)

0. 前提条件

  • インストール作業時に SSH サーバをインストールを行っている。
  • 以下の作業は、リモート接続して行う。(リモートから ssh vbox で接続)
  • リモート端末は、 Linux Mint 17 マシンを想定しているが、 Unix 系 OS なら同じ。
  • 設定ファイル等のテキストファイルの編集には vi コマンドを使用。
  • 作業はリモート接続で一般ユーザから root になって行う。
  • リモート操作は既存の端末で行う(当然、端末ソフトを使用してもよい)
  • SSH サーバのポートはセキュリティ上デフォルトの 22 から変更していることを想定。
  • 主にFreeBSDサーバー構築マニュアルを参照。

1. 鍵ペア(公開・秘密)の生成

クライアント側で以下のコマンドで公開鍵・秘密鍵を生成する。 作成先・ファイル名を指定しなければ、/home/(ユーザ名)/.ssh/ に id_rsa, id_rsa.pub が作成される。 途中、鍵用のパスワードも入力する。(以下ではファイル名を “id_rsa_vbox_freebsd” としている)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): /home/hoge/.ssh/id_rsa_vbox_freebsd
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hoge/.ssh/id_rsa_vbox_freebsd.
Your public key has been saved in /home/hoge/.ssh/id_rsa_vbox_freebsd.pub.
The key fingerprint is:
54:f2:ce:22:c1:ca:53:da:06:5a:a1:58:a4:c7:86:e6 masaru@p183
The key's randomart image is:
+--[ RSA 2048]----+
| .o .   . .      |
| * . o   +       |
|+.= o + . .      |
|oo + * o o       |
| E. = + S o      |
|     o . .       |
|                 |
|                 |
|                 |
+-----------------+

2. 公開鍵設定

FreeBSD サーバ側で公開鍵の設定を行う。(以下、ログインしようと考えている一般ユーザで作業)

まず、公開鍵格納用ディレクトリを作成、パーミッションを変更。

1
2
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh

次に、クライアント側で作成した公開鍵(”xxxx.pub”)の内容を丸ごとコピー&ペーストして authorized_keys に保存する。

~/.ssh/authorized_keys
1
ssh-rsa xxxxx・・・xxxxx

そして、”authorized_keys” のパーミッションを変更。

1
$ chmod 600 ~/.ssh/authorized_keys

3. SSH 設定ファイル編集

(以下、一般ユーザではなく root になって行う)

1
2
$ su -
Password:
/etc/ssh/sshd_config
1
2
3
4
5
6
7
PubkeyAuthentication yes                     # <= コメント解除(公開鍵認証を有効化)

AuthorizedKeysFile     .ssh/authorized_keys  # <= コメント解除&変更(認証キーファイル指定)

PasswordAuthentication no                    # <= 変更(パスワード認証拒否)

ChallengeResponseAuthentication no           # <= コメント解除&変更(チャレンジレスポンス認証を無効化)

4. SSH サーバリロード

設定変更を有効にするために SSH サーバをリロード。そして、一旦ログアウト。

1
2
3
4
5
6
# /etc/rc.d/sshd reload
Performing sanity check on sshd configuration.
# exit
logout
$ exit
Connection to vbox closed.

5. リモート再接続

秘密鍵をしていして SSH 接続を行う。(以下、リモート端末側作業)
パスワード要求されるので、SSH 鍵ファイル作成時に指定したパスワードを入力すればログインできるはず。
(クライアント側の “known_hosts” に記録されるので、2回目以降のログインに秘密鍵ファイルの指定は不要)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ ssh -i ~/.ssh/<秘密鍵ファイル名> <サーバ IP アドレス or ホスト名> -p <ポート番号>
Last login: Wed Sep 24 23:56:36 2014 from 192.168.11.13
FreeBSD 10.0-RELEASE-p9 (GENERIC) #0: Mon Sep 15 14:35:52 UTC 2014

Welcome to FreeBSD!

Before seeking technical support, please use the following resources:

o  Security advisories and updated errata information for all releases are
   at http://www.FreeBSD.org/releases/ - always consult the ERRATA section
   for your release first as it's updated frequently.

o  The Handbook and FAQ documents are at http://www.FreeBSD.org/ and,
   along with the mailing lists, can be searched by going to
   http://www.FreeBSD.org/search/.  If the doc package has been installed
   (or fetched via pkg install lang-freebsd-doc, where lang is the
   2-letter language code, e.g. en), they are also available formatted
   in /usr/local/share/doc/freebsd.

If you still have a question or problem, please take the output of
`uname -a', along with any relevant error messages, and email it
as a question to the questions@FreeBSD.org mailing list.  If you are
unfamiliar with FreeBSD's directory layout, please refer to the hier(7)
manual page.  If you are not familiar with manual pages, type `man man'.

Edit /etc/motd to change this login announcement.

$

以上。

Comments