LoginSignup
136

More than 5 years have passed since last update.

RSA公開鍵認証によるssh接続設定について(Macbook -> VPS)

Last updated at Posted at 2014-09-06

以下の環境での設定となります。
接続元:Macbook Air (LinuxOSでも応用可能です)
接続先:VPS上に立てているCentOS6.5

前提として
事前にVPSにはコンソールでの操作・またはsshログインが可能であること

どのような設定をすれば公開鍵認証でのssh接続ができるか

ざっくり言うと、
Macbook側で鍵を作成し、その鍵をVPSサーバに登録する
だけです。

Macbook とかVPSとかCentOSとか手順に書くとちょっとややこしいので、
接続元であるMacbookはクライアント
接続先であるVPSはサーバ

と表現します。

1.クライアント側で認証用の鍵を作成

クライアントで以下を実行

公開鍵と秘密鍵の作成

$ pwd
/Users/hogehoge/.ssh

公開鍵と秘密鍵を作成します、鍵の種類はRSAに設定
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/hogehoge/.ssh/id_rsa): [鍵の出力先の名前] 
自分はエンター押してデフォルトを利用しました

Enter passphrase (empty for no passphrase): [パスフレーズ]
Enter same passphrase again: [パスフレーズ]
パスワードではなく、パスフレーズ。暗号化に使う文言です。

Your identification has been saved in /Users/hogehoge/.ssh/id_rsa.
Your public key has been saved in /Users/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
The key's randomart image is:
+--[ RSA 2048]----+

公開鍵と秘密鍵がセットになっているか確認

別に確認する必要性はないけど、テクニックとして記載。
出力されたファイルがリンクしてるか確認。

# cat id_rsa.pub(公開鍵)
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZ/3pKQoe8s6PNfzVskfvC

# ssh-keygen -y -f id_rsa(秘密鍵)
Enter passphrase: [パスフレーズ]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZ/3pKQoe8s6PNfzVskfvC

2. 公開鍵をサーバに設置

公開鍵をサーバに設置

$ scp id_rsa.pub user@xx.xx.xx.xx:~/.
※公開鍵のみ!秘密鍵は送らないこと

サーバにログイン

$ ssh user@xx.xx.xx.xx

公開鍵ファイルの設定

$ cd ~/.ssh

~/.ssh/authorized_keysが存在しない場合は作る
$ touch authorized_keys

公開鍵の中身を追記
$ cat ~/id_rsa.pub >> authorized_keys

.sshフォルダとauthorized_keysファイルの権限を設定(権限に問題なければ操作不要
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

3.サーバ側で/etc/ssh/sshd_configを編集し、rsa公開鍵認証を有効にする

root権限での作業です

sshd_configの編集

# cd /etc/ssh
# cp -p sshd_config sshd_config.org
# vi sshd_config

以下のコメントアウト解除
RSAAuthentication yes # RSA認証の許可
PubkeyAuthentication yes # 公開鍵認証の許可
AuthorizedKeysFile .ssh/authorized_keys #公開鍵ファイルのパス

パスワード認証の禁止もする場合はこれをnoにする
PasswordAuthentication no

sshd再起動
# service sshd restart

4.クライアントからsshログイン

あとはクライアントから接続できることを確認するだけ
$ ssh -i ~/.ssh/id_rsa user@xx.xx.xx.xx

5.おまけ

クライアントのconfigファイルに全部書いちゃうとsshログインは楽です。

$ cd ~/.ssh/
$ vi config

config

Host vps-server
    HostName xx.xx.xx.xx
    Port 22
    User hogehoge
    IdentityFile ~/.ssh/id_rsa

これだけでssh接続ができます
$ssh vps-server

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
136