#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)