さくらのレンタルサーバーに公開鍵認証でSSH接続をする

linux

レンタルサーバーに公開鍵認証でSSH接続してみる

APIやフレームワークを使用したプログラムを使用する場合、どうしてもSSH接続によるサーバー操作が必要になります。SSH接続が出来るとサーバーをより活用できるようになりますよ。

パスワード接続は管理の問題もあるので、公開鍵接続方式を紹介します。

環境

今回テストした環境:

レンタルサーバー さくらインターネット
プラン スタンダード
OS FreeBSD 11.2
ユーザー名 myuser
HOST(初期ドメイン) myuser.sakura.ne.jp

*さくらのレンタルサーバーではSSH接続はスタンダードプラン以上の機能となりますので、利用される場合はスタンダードプラン以上にアップグレードが必要です。

*さくらレンタルサーバーのSSH接続については公式ドキュメントをご確認ください。

ローカル環境で公開鍵、秘密鍵を生成

ローカル側でターミナルを立ち上げ、ssh接続に必要なディレクトリを作成。
すでにある場合はスキップしてください。

mkdir ~/.ssh
chmod 700 ~/.ssh

cd ~/.ssh

次に鍵生成のコマンドを入力する。
管理人は複数のサーバーを利用しているので鍵に名前をつけている。
単一のサーバーしか利用しない場合は、-f 以下のコマンドは不要。
パスフレーズが求められますが、設定を省きました。

$ ssh-keygen -t rsa -f SAKURA_STANDARD
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in SAKURA_STANDARD.
Your public key has been saved in SAKURA_STANDARD.pub.
The key fingerprint is:
SHA256:**************************************
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+----[SHA256]-----+

実行すると以下の2つのファイルが生成されているはずです。

  • SAKURA_STANDARD(秘密鍵)
  • SAKURA_STANDARD.pub(公開鍵)

秘密鍵はローカル側の.sshディレクトリで使います。
.sshディレクトリで作業している場合はそのままでOKです。

公開鍵はサーバー側の.sshディレクトリに保存します。

SCPコマンドで鍵をサーバーに転送

SCPコマンドはSSH接続を利用してファイルを転送する仕組みです。
SCPコマンドは次の書式で利用します。

SCP 転送したいファイル サーバーユーザー名@ホスト:サーバー側のディレクトリ

$ scp SAKURA_STANDARD.pub myuser@myuser.sakura.ne.jp:./

パスワードが求められますので入力すると転送が始まります。

サーバー側の設定

パスワードでSSHログインし、サーバー側の設定を済ませます。

.sshディレクトリの確認

ls -laコマンドで.sshディレクトリと転送した公開鍵を確認します。
.sshディレクトリは管理人の環境ではすでに作成されていました。
もしもなければ

mkdir ~/.ssh
chmod 700 ~/.ssh

で作成します。

authorized_keysに書き込む

公開鍵を .ssh/authorized_keysに書き込みます。
authorized_keysはパーミッション設定を600にしておく必要があります。

cat SAKURA_STANDARD.pub > .ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

これでサーバー側の設定は完了です。
ログアウトしてローカル側に戻ります。

ローカルのconfigファイルに設定を書き込む

ローカル側に戻り.ssh/configに設定を書き込みます。
テキストエディタかviコマンドで以下のように編集します。

HOST sakuraStd
    HostName myuser.sakura.ne.jp
    User myuser
    IdentityFIle ~/.ssh/SAKURA_STANDARD

公開鍵認証でSSH接続

ターミナルを立ち上げ、

ssh sakuraStd

と入力するとサーバーに接続されます。

まとめ

さくらのレンタルサーバーに公開鍵認証でSSH接続する手順を紹介しました。
手順としては何ステップか必要ですが、設定すると後々便利ですのでぜひ挑戦してみてください。

タイトルとURLをコピーしました