Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

Xserver VPSのUbuntuでSSH鍵を作成する方法

Xserver VPSのUbuntu上で、SSH鍵を作成し、その鍵をssh-agentに追加する方法

今回は私が利用しているXserver VPSのUbuntu上で、SSH鍵を作成し、それをssh-agentに登録するまでの作業の内容を解説します。

前準備: Xserver VPSにSSH接続しておく

Xserver VPSにSSH接続する方法についてはこちらの記事で解説していますのでご覧ください。

Step1: Xserver VPSのLinux系OSでSSHが利用できるようになっているか確認する

私の場合はXserver VPSでUbuntuをOSとして利用していますが、Ubuntuを含めてLinux系OSには最初からSSHツールスイートと呼ばれるSSH認証を使えるようにするツール(アプリ?)の一式が揃っています。

試しにXserver VPS上のUbuntuでそのようなSSHスイートが本当に入っているのか確かめてみましょう。次のようにSSHのバージョンを確認するコマンドを使います。

ssh -V

私の場合は次のような結果となりました。

OpenSSH_8.9p1 Ubuntu-3ubuntu0.6, OpenSSL 3.0.2 15 Mar 2022

このように表示されれば、そもそもSSHスイートが入っていて動作していることが確認できます。

Step2: SSH鍵を作成

今回は、メールアドレスをラベルとして、鍵形式はRSA、そして鍵長を4096ビットとする秘密鍵としてのSSH鍵を作成することにします。

そのためには次のコマンドを入力します。「”メールアドレス”」の部分はみなさんが普段使うメールアドレスを設定すればOKです。

ssh-keygen -t rsa -b 4096 -C "メールアドレス"

たとえば、

ssh-keygen -t rsa -b 4096 -C "hogehoge@gmail.com"

というようにして実行。

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

普通はこのような表示へと変化します。ここでは作成したSSHキーをどこに保存するかが問われています。画面上で「(/root/.ssh/id_rsa)」という部分がありますが、これは標準で保存される場所と、保存するファイル名を示しています。

この「/root/.ssh/」という場所(ディレクトリ、Windowsでいうフォルダ)で良ければそのままエンターボタンを押して決定しましょう。もし他の場所にしたいなれば、その場所のパスやファイル名を入力してエンターボタンで決定しましょう。

今回は、そのままエンターボタンを押しました。すると次の表示となります。

Enter passphrase (empty for no passphrase):

ここではパスフレーズ(いわゆるパスワード)を設定することが求められます。これを設定しておけば、Xserver_VPSのUbuntuを誰かが勝手に使ってそのマシンに保存されている秘密鍵としてのSSH鍵を利用しようとしても、その都度常にパスフレーズが要求されるため、セキュリティを高めることができます。基本的には設定しておくほうが良いです。

Enter same passphrase again:

新しいパスフレーズを入力して決定すると、上のように、確認として再びパスフレーズを入力するよう求められます。同じパスフレーズを再入力してエンターボタンを押します。

きちんと入力に成功していれば次のような表示となります。

ubuntu、SSH鍵

これで秘密鍵としてのSSH鍵がXserver VPS上のUbuntuにおいて作成でき、その鍵を「/root/.ssh/」というディレクトリ(フォルダ)に保存することができました。

Step3: 作成したSSH鍵をssh-agentに登録する

作成したSSH鍵を、ssh-agentというツールに登録しておきましょう。ssh-agentの詳細も省きますが、秘密鍵としてのSSH鍵を便利に、そしてより安全に使えるようにするツールだと思ってください。

まずそもそもssh-agentが、Xserver VPSのUbuntu上で動いているのかどうかを確認しましょう。

eval "$(ssh-agent -s)"

実行すると私の場合は、

Agent pid 1425134

と表示されました。このように表示されれば動作しています。

では、続いてssh-agentにSSH鍵を登録します。今回は、これまでの作業で作った「root/.ssh」の内部のid_rsaファイルを登録します。次のコマンドを使います。

ssh-add /root/.ssh/id_rsa

これを実行すると場合によっては次のようにパスフレーズを求められるかもしれません。

Enter passphrase for /root/.ssh/id_rsa:

この場合は、上Step2: SSH鍵を作成において設定したパスフレーズをそのまま入力してください。

入力に成功すれば、

Identity added: /root/.ssh/id_rsa (メールアドレス)

このような表示となります。この「メールアドレス」の部分についても、上Step2: SSH鍵を作成における、

ssh-keygen -t rsa -b 4096 -C "メールアドレス"

で設定したメールアドレスが表示されます。

以上で、Xserver VPSのUbuntu上でSSH鍵と作成し、ssh-agentに登録する作業は終わりです。