- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-04-25T01:30:06+09:00","","")
#navi2(RaspberryPi,toc,prev,next)
----
#contents
----
* sshd の設定変更 [#xa29a1d4]
デフォルトでは、ユーザー名とパスワードだけで ssh ログインできます。
少しでもセキュリティ強化するため、認証キー必須の方式に変更します。
** SSH Key の生成 [#lf1d651d]
+SSH 接続のための秘密鍵 id_rsa と 公開鍵 id_rsa.pub を生成します。
$ ssh-keygen -t rsa -b 4096 -C [メールアドレスなどのコメント]
※ .ssh 配下に、id_rsa, id_rsa.pub が生成されます。
+id_rsa.pub を .ssh/authorized_keys に追記します。
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
+.ssh/id_rsa ファイルを PC 側に持ってきます。
$ mv .ssh/id_rsa .
$ chmod 644 id_rsa
TeraTermProの「ファイル(F)」→「SSH SCP...」を選択して、
From: ~/id_rsa
To: <任意のディレクトリ>
を指定して、Receive ボタンを押下する。
+Raspberry Pi 上から id_rsa を削除する。
$ rm id_rsa
※本来は、PCで生成して、id_rsa.pub を接続先の .ssh/authorized_keys に追加します。(秘密鍵 id_rsa をネットワーク上に流さないこと。)
** SSHD の設定 [#m83c5fff]
/etc/ssh/sshd_config ファイルの設定を実施する。
-Port (default: 22)
# 変更しておくと、気休め程度ではあるがセキュリティUP
# 当然変更した場合、クライアント側はデフォルトでは
# 接続できず、ポート番号を指定する必要があります。
Port [任意]
-PermitRootLogin? (default: yes)
# root ログインを拒否します。
# ※レンタルサーバ等の場合、きちんと一般ユーザでログインできること
# su or sudo コマンド等ができることを確認した上で設定してください。
#
# 以下のオプションもありますが・・・yesかnoで事足りるかと。
# without-password : パスワード認証の場合拒否
# forced-commands-only : 公開鍵認証にてパスフレーズが設定されている場合のみ許可
PermitRootLogin no
-StrictModes (default: yes)
# 厳格なモード。通常このままで良いです。
# yes の場合、自分のディレクトリが他人から見えてしまっている状態の場合
# ログインが拒否されます。
#
-公開鍵方式でのみ SSH を許可する設定
--PasswordAuthentication (default: yes)
# パスワードのみによる認証を無効化する
PasswordAuthentcation no
--ChallengeResponseAuthentication (default: no)
# パスワードのみによる認証を禁止するには、本設定も no にする。
ChallengeResponseAuthentication no
--(参考) 既に SSH v.1 削除されているので以下の設定は不要です。
# プロトコルバージョン 2 を使用する設定
Protocol 2
# RSA認証 (SSH1) を無効化する設定
RSASAuthentication no
-sshd の再起動
# /etc/init.d/ssh restart
** SSHD の設定 (変更しなくても良いが、役に立つかもしれない設定) [#v1c6d3a3]
-UsePrivilegeSeparation? (default: yes)
# 特権分離設定。デフォルト yes の分離となっています。
# sandbox にすることで、認証するまで多くの制限がかかります。
UsePrivilegeSeparation sandbox
-LoginGraceTime? (default: 120)
# ログイン猶予時間です。制限時間内にログインできないと接続が切れます。
# 120秒以内にログインが難しい場合のみ値を伸ばしてください。
# 0にすると制限時間が無くなります。
LoginGraceTime 120
-UseDNS (default: yes)
# yes の場合IPアドレスとホスト名の関係を確認します。
# 名前解決に時間がかかる場合はログインが待たされます。
# ローカルで使用するサーバであれば no で問題ないと思います。
UseDNS no
----
#navi2(RaspberryPi,toc,prev,next)