#概要
Raspberry Piのsshログインを鍵認証方式へ変更した時の備忘録です。
鍵認証には公開鍵のRSAを使用しました。
動作環境は次のとおりです。
・母艦OS:Windows10
・デバイス:Raspberry Pi 3B
・デバイスOS:Rasbian jessie
以下、手順です。
#手順
###流れ
1.TeraTerm(sshクライアント)で公開鍵と秘密鍵を生成
2.公開鍵をRaspberry Pi(sshサーバ)に送る
3.Raspberry Piのsshに鍵認証を設定する
生成する鍵の設定ができます。
今回はビット数を"4096"にしました。
初期値の"2048"で生成してもOKです。
その後、公開鍵と秘密鍵を保存します。
これから生成したファイルを扱うので、わかりやすいパスがいいですね。
次の2つのファイルが生成されます。
id_rsa
id_rsa.pub
SSFTPやSambaなどを利用して、公開鍵ファイル(id_rsa.pub)をRaspberry Piのhome/pi/に送信しておきます。
その後、Raspberry Piにログインして次のコマンドを流します。
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
rm id_rsa.pub
次はsshの設定をして、鍵認証を有効にします。
設定ファイルを、次のコマンドで開きます。
sudo nano /etc/ssh/sshd_config
以下の設定を行いました。
port 22 --> ssh接続ポート
PermitRootLogin no --> root権限でのログインを無効
RSAAuthentication yes --> RSA認証を有効
PubkeyAuthentication yes --> 公開鍵認証を有効
AuthorizedKeysFile %h/.ssh/authorized_keys
-->公開鍵登録ファイルのパスと名前を指定
PasswordAuthentication no --> パスワード認証を無効
設定を終えたら、sshのサービスを次のコマンドでリスタートします。
sudo /etc/init.d/ssh restart
リスタートに成功すると、次のメッセージが出力されます。
#2.sshログイン
それではTeraTermを起動してログインしてみます。
ユーザ名を入力して接続しようとすると。鍵を使うように促されます。
ここで、秘密鍵ファイル(id_rsa)を選択し、鍵生成時のパスフレーズを入力するとログインできます。
ログインできました!
以上。