RSA公開鍵認証によるssh通信の設定
パスワードではなくRSA公開鍵による認証でssh通信を行うように設定したので、その時の手順をメモしておきます。
導入環境
サーバ:raspberry pi(B+)
クライアント:mac mini
鍵の生成
クライアントで鍵の生成を行います。
$ cd ~ $ mkdir .ssh $ cd .ssh $ ssh-keygen -t rsa
と打ち込むと
Generating public/private rsa key pair. Enter file in which to save the key (/Users/User/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again:
と聞かれるので、上から順に、鍵の名前(defaultではid_rsa)、パスワード、パスワードの確認の順に記入します。全てEnterを押し、記入しなくても作成できます。
$ ls
コマンドで確認すると、id_rsa(秘密鍵)、id_rsa.pub(公開鍵)が作成されているのが確認できます。
鍵の登録
クライアントで作成した、公開鍵をサーバに送ります。
今回はscpコマンドで送信しました。
$ scp id_rsa.pub 送信先ユーザ名@送信先アドレス:~/.ssh
コマンドの記述は、環境に合わせ適宜行ってください。
サーバに送った公開鍵を登録します。
ここからは、サーバ側での操作になります。
$ cat id_rsa.pub >> authorized_keys $ rm id_rsa.pub
上記のコマンドで登録完了です。id_rsa.pubは削除しておきましょう。
通信の簡略化
以上の登録までで、パスワードを利用せずにssh接続できるようになりました。
しかし、アドレスの記述をするのも面倒くさいので簡略化します。
まぁ、参考程度に。
クライアント側での操作です。
$ pwd /Users/user/.ssh $ vim config
Host ssh-pc HostName サーバのアドレス port 22 User ユーザ名 IdentityFile ~/.ssh/id_rsa
保存し、以下のようなコマンドで接続できるようになります。
ssh ssh-pc
以上です。これで、パスワードなしで通信できます。
一行でアクセスできるようになって便利だ...