2. FreeBSD - メンテナンス・トラブルシュート - sshd・sftp - sshd

 
2.1 sshd 設定
2.2 特定のユーザにのみ鍵を不要とする
2.3 /etc/ssh/sshd_config スペルチェック

2.1 sshd 設定

 sshd の設定ファイルは

/etc/ssh/sshd_config
 これを編集します。

PasswordAuthentication no				← パスワードのみでは認証しない設定です
PubkeyAuthentication yes				← 認証に鍵を使用する設定です
AuthorizedKeysFile .ssh/id_rsa.pub		← 鍵の場所を示す定義です
 編集したら

> service sshd restart
 で sshd デーモンを再起動します。  ユーザに対応する鍵を作成します。ユーザ名 hogehoge とすると hogehoge ユーザで

> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa):
Created directory '/home/hogehoge/.ssh'.
Enter passphrase (empty for no passphrase):	← パスワードを入力します
Enter same passphrase again:				← パスワードを再入力します
Your identification has been saved in /home/hogehoge/.ssh/id_rsa.
Your public key has been saved in /home/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
2f:27:08:b7:0c:1e:27:ae:59:b6:99:a0:ac:b7:6f:81 hogehoge@ドメイン名
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|   .= o S        |
|  Eo.O o .       |
|  . =.+ o o      |
|...*.+   +       |
|+o++=            |
+-----------------+
 これで

/home/hogehoge/.ssh/id_rsa.pub	←	サーバ側に置く鍵
/home/hogehoge/.ssh/id_rsa		←	クライアント側で使用する鍵
 が作成されます。クライアント側で使用する鍵のファイルをクライアントに持っていき、サーバからは削除します。  Tera Term でログインします。

 [Use RSA... key to login] を選択し [Private key file] ボタンを押下して、取得した鍵ファイルを選択します。ユーザ名とパスワードまで入力するとログインできます。


2.2 特定のユーザにのみ鍵を不要とする

 これは折角、鍵認証を有効にしたのに特定のユーザにのみ鍵なしでの認証を許可する方法です。注意して設定を行うこととあくまでも一時的な措置として使用してください。

/etc/ssh/sshd_config
 の最下行に以下を記述します。

Match User ユーザ名
	PasswordAuthentication yes
 これで、sshd を再起動すると「ユーザ名」に記述したユーザは、鍵認証なしでログインできるようになります。

2.3 /etc/ssh/sshd_config スペルチェック


/etc/ssh/sshd_config
 を編集したとき

> sshd -t
 でスペルチェックすることができます。  試しに、末尾に Z と一文字だけ置いた行をいれてみます。

> sshd -t
/etc/ssh/sshd_config: line 150: Bad configuration option: Z
/etc/ssh/sshd_config line 150: Directive 'Z' is not allowed within a Match block