前回は、XServer VPSの管理画面を確認した。
今回は、XServer VPSにSSHで接続する設定を行いたい。
SSH keyの作成
ユーザー名とパスワードでの接続でも良いが、昨今のセキュリティ事情を考えると、認証鍵を使った接続の方が好ましい。
XServer VPSには、便利な鍵作成ツールがあるので、使ってみる。
まずはXServer VPSの契約管理ページ(https://secure.xserver.ne.jp/xapanel/xvps/index)を開き、「SSH Key」タブを選択。
右上の「SSH Key の登録」を選択。

適当な名前を付けて、「自動生成」の「確認画面へ進む」を選択。

確認して、「登録する」ボタンを選択。

公開鍵と秘密鍵のペアが作成され、秘密鍵のダウンロードが可能になる。

「ダウンロードする」を選択すると、「[名前].pem」をローカルに保存可能。

Web画面には、作成したキーの名前と、公開鍵の「表示する」が現れる。
SSH Keyを設定した状態のOS再インストール
サーバーへSSH Keyを自分で設定する方法は、後日解説するとして、
お手軽に始めるために、先ほど作成したSSH Keyを指定してOSを再インストールする。
まず、マシンが起動している場合は、シャットダウンする。

「OS再インストール」の「SSH Key」部分で、「登録済みのキーを選択する」を選び、作成したSSH Keyを選択。
「キーを作成する」で、先ほどの作業と同じことも可能。

注意:OSを再インストールすると、サーバが初期化され、データが全て消えます。
「再インストールする」を選択すると、SSH Keyが登録された状態でサーバーが初期化されます。

「電源操作」の「起動」を選択し、マシンを起動。


パケットフィルターの設定
デフォルトでは、サーバーとの接続ポートは全く開いていない状態。
SSH接続するには、「+パケットフィルター設定を追加する」を選択し、SSHで使用するポートを開ける必要がある。

「SSH」を選ぶと、標準ポート(22)が選択されるため、そのまま「追加する」を選択。

接続許可ポートへ追加され、外部からのSSH接続が可能になった。

MacからSSH接続
先ほどダウンロードした秘密鍵を使って、SSH接続する。
まずは、鍵を使わずに接続を試みてみる。
user@MacBookPro ~ % ssh root@servername.example.com
The authenticity of host 'servername.example.com' can't be established.
ED25519 key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added servername.example.com (ED25519) to the list of known hosts.
root@servername.example.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
もちろん接続は拒否される。
「-i」オプションを使って、先ほど保存した秘密鍵(例:name.pem)を指定してSSH接続する。
user@MacBookPro ~ % ssh root@servername.example.com -i /Users/user/Downloads/name.pem
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/user/Downloads/name.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/user/Downloads/name.pem": bad permissions
root@servername.example.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
今度はセキュリティ上の問題で怒られる。
秘密鍵が誰でも見れる状態になっているので、所有者だけが使えるように変更。
user@MacBookPro ~ % chmod 400 /Users/user/Downloads/name.pem
再度トライし、今度はうまくログインできた。
user@MacBookPro ~ % ssh root@servername.example.com -i /Users/user/Downloads/name.pem
[root@hostname ~]#
TeraTermやRLoginでSSH接続
TeraTermやRLoginの接続方法に関しては、XServerの公式のマニュアルを参考に。
SSH接続方法
https://vps.xserver.ne.jp/support/manual/man_server_ssh_connect.php
SSH接続用公開鍵
SSH接続用の公開鍵は、サーバー内の次の場所に保存されている。
~/.ssh/authorized_keys
rootユーザーの鍵は次の場所となり、中身を見ると、作成した公開鍵と同じ内容が書いてあることが確認できる。
/root/.ssh/authorized_keys
一般ユーザ(例:abc)の公開鍵の場所は、次の場所となる。
/home/abc/.ssh/authorized_keys
次回は、SSH接続のセキュリティをさらに上げていく。
お友達紹介プログラムを利用して契約すると10%OFFになるそうなので、
もしよろしければ次の画像をクリックしてみてください。

投稿一覧はこちら→「VPSでAlmaLinux」