【Raspberry Pi 】TeraTermアクセスをSSH公開鍵方式で行う

セキュリティ向上のため、SSHアクセスを公開鍵方式に変更します。

 

1.公開鍵、秘密鍵の作成

公開鍵はTeraTermで作ります。sshdで作れるらしいけど、CUIで面倒なので。

メニューから「設定」→「SSH鍵生成」

f:id:engetu21:20141122231826j:plain

 

パスフレーズを入れます。無論長くて複雑であればあるほどいい。

f:id:engetu21:20141122231835j:plain

 

パスフレーズを入れたら、公開鍵をまず作ります。

→id_rsa.pubというファイルが作られるので、ローカルの適当なところに置きます。

f:id:engetu21:20141122232130j:plain

 

秘密鍵も作ります。

→id_rsaというファイルが作られるので、これもローカルの適当なところに置きます。

f:id:engetu21:20141122232250j:plain

 

2.サーバへの公開鍵の設置

作成した公開鍵(id_rsa.pub)をサーバに転送します。転送方法はWinSCPを使うなり、Teratermの設定から「ファイル」→「SSH SCP」から実施するなり。

 

公開鍵をホームディレクトリの.ssh配下に置きます(名前もauthorized_keysに変更)。

ホームディレクトリ配下に.sshがあるかはls -laコマンドでわかります。なければ作成した上で.ssh配下に置きます。

$ls -la

$mkdir .ssh

$mv id_rsa.pub .ssh/authorized_keys

※2017/2/19追記

なお、公開鍵の権限は600にしないといけないらしい

$chmod 600 .ssh
$mkdir .ssh/authorized_keys

 

3.sshdの設定ファイルを変更

以下のように変更します。

$ sudo vi /etc/ssh/sshd_config

RSAAuthentication yes コメントアウトされていたら解除

→上記項目は削除されたため、対応は不要(2022/7/3追記)
PubkeyAuthentication yes コメントアウトされていたら解除して「yes」
AuthorizedKeysFile     %h/.ssh/authorized_keys コメントアウト解除して、keyの場所を指定

 

#PasswordAuthentication yes ←パスワード認証ログインの有効/無効のパラメータ

↓ コメントアウトを解除し、かつnoに変更

PasswordAuthentication no

 

この後、一度再起動します。

$sudo shutdown -r now 

 

4.TeraTermからの秘密鍵によるログイン

ログインメニューの変更を実施し、保存しておきます。

メニューから「設定」→「SSH認証」

f:id:engetu21:20141123003408j:plain

秘密鍵は1の手順で作ったものを指定します。

入力が完了し、OKを押したあとは、設定変更を忘れずに。

メニュー「設定」→「設定の保存」

 

あとは、ログイン時にパスフレーズを入れれば公開鍵方式でログインできるようになります。