Linuxサーバに秘密鍵方式でsshする
投稿日:
■環境
CentOS 7.2
■手順
①秘密鍵と公開鍵を生成
ローカルPCにて以下を実施します。
MacでもLinuxでも同じコマンドで生成できるはずです。
$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hoge/.ssh/id_rsa):
=>生成するパスとファイル名を指定(空欄のままだと括弧内のファイル名で生成される)
Enter passphrase (empty for no passphrase):
=>生成する鍵のパスワード。不要なら空欄のままエンター
Enter same passphrase again:
=>鍵のパスワードの再入力
生成した秘密鍵と同ディレクトリに公開鍵(拡張子pub)も生成されているので、
catコマンドで中身を見ておく。(後ほど使うのでコピーしておくと良い)
②公開鍵をサーバに格納
ログイン先サーバにて以下を実施
$ mkdir ~/.ssh
$ vim ~/.ssh/authorized_keys
この「authorized_keys」に①で生成した公開鍵の中身を貼り付ける。
以上で秘密鍵認証でログインできるようになっている。
もし接続できなかった場合は以下設定も確認してみる。
③【繋がらない場合のみ】sshd設定確認
ログイン先のサーバにて以下を実施
$ vim /etc/ssh/sshd_config
以下の設定となっているか確認
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
※上から2つはコメントアウトされていても良い