sshdを入れて公開鍵でアクセスするように設定
たまにやると忘れているのでメモです。
設定について
ポートは22ではなく2222に変更しています。鍵はサーバ上で作成しています。
手順
①sshdのインストール
sudo apt install openssh-server
②設定その1
まずはパスワードで接続できるようにsshd_configを設定します。編集するパラメーターは以下の3つです。
Port 2222
PermitRootLogin no
PasswordAuthenticasion yes
③再起動し、クライアントから接続
sudo systemctl restart sshd.service
★Raspbianではsshdではなくsshです。
④鍵を作成する
ホームディレクトリに.sshというフォルダがなければ作成し鍵を作成します。
mkdir ~/.ssh
chmod 700 ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa
keyを保存するディレクトリと秘密鍵のpassphraseを聞いてきますので入力します。
※ディレクトリは省略して、passphraseは自分で決めたパスワードを入れてください。このpassphraseは、sshクライアントで秘密鍵を開くときのパスワードです。省略することも可能です。
⑤公開鍵の名前を変更
公開鍵のid_rsa.pubをauthorized_keysというファイルに変更し、パーミッションを変更します。
mv id_rsa.pub authorized_keys
chmod 600 authorized_keys
⑥秘密鍵のコピー
id_rsaという秘密鍵はクライアント側で使用します。sshクライアントとしてWindows側でputtyを使う場合はputtygen.exeを起動してid_rsaをid_rsa.ppkへ変換します。
⑦接続確認
クライアントから、鍵を使用した接続ができるか確認します。
⑧最終設定
パスワードでの認証を禁止します。sshd_configを編集し、下記のパラメータを変更します。
PasswordAuthenticasion no
ChallengeResponseAuthentication no
⑨再起動
サービスを再起動します。
sudo systemctl restart sshd.service
⑩接続の確認
クライアントからパスワードで接続してみて拒否されるかを確認して完了です。