Help us understand the problem. What is going on with this article?

Rasapberry Piのログインを鍵認証方式にする

More than 1 year has passed since last update.

概要

Raspberry Piのsshログインを鍵認証方式へ変更した時の備忘録です。
鍵認証には公開鍵のRSAを使用しました。

動作環境は次のとおりです。
・母艦OS:Windows10
・デバイス:Raspberry Pi 3B
・デバイスOS:Rasbian jessie

以下、手順です。

手順

流れ

1.TeraTerm(sshクライアント)で公開鍵と秘密鍵を生成
2.公開鍵をRaspberry Pi(sshサーバ)に送る
3.Raspberry Piのsshに鍵認証を設定する

1.鍵生成

[設定]→[SSH鍵生成]
image.png

生成する鍵の設定ができます。
今回はビット数を"4096"にしました。
初期値の"2048"で生成してもOKです。
image.png

鍵の生成後
パスフレーズとコメントを入力します。
image.png

image.png

その後、公開鍵と秘密鍵を保存します。
これから生成したファイルを扱うので、わかりやすいパスがいいですね。

次の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

リスタートに成功すると、次のメッセージが出力されます。

image.png

2.sshログイン

それではTeraTermを起動してログインしてみます。
ユーザ名を入力して接続しようとすると。鍵を使うように促されます。

image.png

ここで、秘密鍵ファイル(id_rsa)を選択し、鍵生成時のパスフレーズを入力するとログインできます。

image.png

ログインできました!

image.png

以上。

kmaepu
自由気ままにものづくりをする組込みソフトエンジにゃ~。
iotlt
IoT縛りの勉強会です。 毎月イベントを実施しているので是非遊びに来てください! 登壇者を中心にQiitaでも情報発信していきます。 https://iotlt.connpass.com
https://iotlt.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away