Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

以下の環境での設定となります。
接続元: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

m1220
行動しなければ何も得られないですね
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした