LoginSignup
3
2

More than 3 years have passed since last update.

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

Posted at

概要

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

以上。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2