モチベーション
RaspberryPiをサーバっぽく使っているとsshでログインする機会が増えますよね。毎回パスワードを打つのは面倒なので鍵認証を設定しましたというお話です。
Linuxの基本的なお作法だと思うので調べたらいくらでも出てくるのですが、毎回調べるのすらめんどくさいのでここに残しておきます。
authorized_keysの作成
raspberry pi 上で~/.ssh
の作成(まだない場合のみ)
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
authorized_keysの作成
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
公開鍵の作成
自分のPCで(ログインコマンドを打つ側のpc)
$ ssh-keygen -t rsa
いろいろ聞かれますが、とりあえずは全てDefaultで(Enter Keyを押し続ける)
以下に、秘密鍵と公開鍵が作られます。
$ ls ~/.ssh
id_rsa id_rsa.pub
id_rsa.pub
をraspberry piに転送する。
注意:RaspberryPi上に同じ名前のファイルがあると意味不明、最悪の場合上書き保存されてしまうのでリネームして転送することをお勧めします。私はimacの鍵なので*.imac
としました。
$ scp id_rsa.pub pi@xxx.xxx.xxx.xxx:~/.ssh/id_rsa.pub.imac
## 公開鍵の登録
再びraspberry piに戻り~/.ssh
で作業を進めます。
転送がうまく行っていれば以下のようにファイルが置かれます。
~/.ssh $ ls
authorized_key id_rsa.pub.imac
id_rsa.pub.imac
の内容をauthorized_keysに登録します。
cat id_rsa.pub.imac >> ~/.ssh/authorized_keys
## 完成
これで、次からsshでログインする際にパスワードを聞かれることはなくなります。