【Raspberry Pi 】TeraTermアクセスをSSH公開鍵方式で行う
セキュリティ向上のため、SSHアクセスを公開鍵方式に変更します。
1.公開鍵、秘密鍵の作成
公開鍵はTeraTermで作ります。sshdで作れるらしいけど、CUIで面倒なので。
メニューから「設定」→「SSH鍵生成」
パスフレーズを入れます。無論長くて複雑であればあるほどいい。
パスフレーズを入れたら、公開鍵をまず作ります。
→id_rsa.pubというファイルが作られるので、ローカルの適当なところに置きます。
秘密鍵も作ります。
→id_rsaというファイルが作られるので、これもローカルの適当なところに置きます。
2.サーバへの公開鍵の設置
作成した公開鍵(id_rsa.pub)をサーバに転送します。転送方法はWinSCPを使うなり、Teratermの設定から「ファイル」→「SSH SCP」から実施するなり。
公開鍵をホームディレクトリの.ssh配下に置きます(名前もauthorized_keysに変更)。
ホームディレクトリ配下に.sshがあるかはls -laコマンドでわかります。なければ作成した上で.ssh配下に置きます。
$ls -la
$mkdir .ssh
※2017/2/19追記
なお、公開鍵の権限は600にしないといけないらしい
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
ログインメニューの変更を実施し、保存しておきます。
メニューから「設定」→「SSH認証」
秘密鍵は1の手順で作ったものを指定します。
入力が完了し、OKを押したあとは、設定変更を忘れずに。
メニュー「設定」→「設定の保存」
あとは、ログイン時にパスフレーズを入れれば公開鍵方式でログインできるようになります。