カテゴリー
Linux

【VPS】公開鍵認証による SSH 接続に切り替える手順

VPSならConoHa|登録者数12万アカウント突破 – 期間限定キャンペーン実施中 で VPS を契約する機会がありました。

実は今まで、公開鍵認証による SSH 接続は行ったことがありませんでした><。

今回、実際に行ってみましたのでその手順をノートします。

環境

  • クライアント: Mac
  • サーバ: VPS サービスの ConoHa、512 MB

ポイント

  • 作成する公開鍵、秘密鍵は、クライアントでもサーバでもどちらでも作成しても問題ない。
  • クライアントで公開鍵、秘密鍵を作るほうが楽。ssh-copy-id が使用できるため。

VPS での操作。VPS に SSH で接続されるユーザを作成する

# VPS にログイン
ssh root@123.12.123.123 -p 22

# VPS のユーザ追加、確認
useradd oki2a24
passwd oki2a24
cat /etc/passwd

# 接続元の Mac に戻る
logout

参考

クライアント (Mac) で公開鍵および秘密鍵を作成する

使用するコマンド

# 公開鍵および秘密鍵を作成
# ファイル名、パスフレーズ、パスフレーズの確認、の順に入力する。
ssh-keygen

実際の記録

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/oki2a24/.ssh/id_rsa): conoha
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in conoha.
Your public key has been saved in conoha.pub.
... 略 ...
$
$ # クライアントの公開鍵・秘密鍵の設定
$ mv conoha .ssh/conoha
$ mv conoha.pub .ssh/conoha.pub
$ # クライアントの公開鍵・秘密鍵の確認
$ # .ssh ディレクトリは 700、
$ # 公開鍵 (conoha.pub) は 644、
$ # 秘密鍵 (conoha) は 600 となっていること。
$ ls -al .ssh/
total 24
drwx------   5 oki2a24  staff   170 10  8 20:15 .
drwxr-xr-x+ 62 oki2a24  staff  2108 10  8 20:15 ..
-rw-------   1 oki2a24  staff  1766 10  8 20:07 conoha
-rw-r--r--   1 oki2a24  staff   403 10  8 20:07 conoha.pub
-rw-r--r--   1 oki2a24  staff  2018 10  8 19:38 known_hosts
$

参考

VPS サーバの SSH で接続されるユーザを指定して公開鍵を追加する

使用するコマンド

# ssh-copy-id -i 公開鍵ファイル ユーザ名@接続先
ssh-copy-id -i .ssh/conoha.pub oki2a24@123.12.123.123

実際の記録

$ ssh-copy-id -i .ssh/conoha.pub oki2a24@123.12.123.123
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/conoha.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
oki2a24@123.12.123.123's password:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'oki2a24@123.12.123.123'"
and check to make sure that only the key(s) you wanted were added.

$
$ # 公開鍵認証による接続の確認
$ ssh 'oki2a24@123.12.123.123'
oki2a24@123.12.123.123's password: 
Last login: Sun Oct  8 19:51:16 2017
[oki2a24@123-12-123-123 ~]$ 
[oki2a24@123-12-123-123 ~]$ # 公開鍵情報の確認
[oki2a24@123-12-123-123 ~]$ ls -al .ssh/
total 12
drwx------ 2 oki2a24 oki2a24 4096 Oct  8 20:23 .
drwx------ 5 oki2a24 oki2a24 4096 Oct  8 20:23 ..
-rw------- 1 oki2a24 oki2a24  403 Oct  8 20:23 authorized_keys
[oki2a24@123-12-123-123 ~]$ cat .ssh/authorized_keys 
ssh-rsa ...略... oki2a24@oki2a24.local
[oki2a24@123-12-123-123 ~]$ 

参考

VPS サーバでの作業。パスワードによる SSH 接続を禁止する

cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.org
sed -i -e 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
sed -i -e 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
diff -up /etc/ssh/sshd_config.org /etc/ssh/sshd_config
systemctl restart sshd

参考

確認

公開鍵認証を使用したログイン、ssh oki2a24@123.12.123.123 -i .ssh/conoha を実行してログインできることを確認しました。

おわりに

最初は、公開鍵・秘密鍵はどこでつくればよいのか、混乱しました。

どこで作ってもよい、ということが実感できてから、理解が進んだように感じました。

これからは公開鍵認証を接続方法の標準として切り替えていこうと思います。

以上です。

コメントを残す