ARTICLEKnowledge by t/SLASH

SSHで安全にWebサーバーへアクセスしよう!cPanelからSSHキーの発行手順

COLUMN

2023/09/05

SSHで安全にサーバーへアクセスしよう!cPanelからSSHキーの発行手順

弊社提供の共用サーバー「HOLO」については、FTPを廃止しております。
長年Webサーバへアクセスする際に使われてきたFTPは、ご利用されていた方であればお分かりの通り、パスワードは暗号化されていない平文(テキスト)のものになり、 Webサーバーへのアクセスを第三者が総当たりでパスワードを突破されたり、メールの誤送信等で意図しなく開示をしてしまう事なども十分ありえます。
そのため、弊社では、公開鍵形式でのWebサーバーへアクセスするSSHを利用した、SFTPでのアクセスを推奨させていただいております。
でも「SSHって何?」という方もいらっしゃるかと思います。ですので今回、できる限りわかりやすく例などを交えてご説明いたします。

そもそもSSHとは?

SSH(Secure Shell)は、コンピューターやサーバーへの安全なアクセス方法です。
これは、データを暗号化して送信し、遠隔地からコンピューターにアクセスするための特別な技術です。

「ん?でもFTPでアクセスできるからそれで良いんじゃない?」という方々もいらっしゃると思います。

ですがFTPと比べて、SSHはセキュリティリスクが低い方法として知られています。
その違いから、説明していきます。

 

SSHとFTPの違い

SSHとFTPは両方ともリモートサーバーにアクセスするための方法ですが、大きな違いがあります。

先の説明でした通り、FTPはデータを暗号化せずに送信するためデータが傍受される危険性がある一方、SSHは通信を暗号化してデータのセキュリティを強化できる仕組みです。

そのためSSHを使用することで、より安全な方法でサーバーにアクセスできるのです。

 

秘密鍵と公開鍵について

SSHキーは、秘密鍵と公開鍵の2つの部分から構成されています。(鍵の事をキーともいう為、秘密キー、公開キーとも言います)

分かりやすく理解してもらう為に、自宅の鍵と鍵穴をそれぞれに見立てて説明していきます。

  • 秘密鍵
    秘密鍵とは、あなたのコンピューター上に保存される重要な情報です。
    これは、自宅の鍵のようなもので、本人だけが持っているものです。そのため複数の人で使うのではなく、ご自身のみでご利用するためのものが一般的な使い方です。
    秘密鍵を持っていれば、自宅の鍵穴に合った鍵を利用して入る事ができるように、サーバーの鍵穴に合った鍵を持っていることを証明でき、サーバーにアクセスできます。
  • 公開鍵
    公開鍵とは、サーバーに保存される情報で、いわゆるサーバーの鍵穴です。
    これは、他の人が持っていても安全なもので、公開鍵があってもただの鍵穴の設定情報なので持っているだけでは意味がありません。
    利用したいサーバーに公開鍵の登録をし、その公開鍵を利用して、本人を認証しサーバーへアクセスできます。

公開鍵は秘密鍵とSSHキーを発行する際にペアになっており、その為、PWを共有する事なく、安全な通信が可能となります。

例えるのであれば、本人が持っている鍵(秘密鍵)が、自宅(サーバー)に鍵穴(公開鍵)を登録して開ける事ができる、という事。
公開鍵を他のサーバーに登録もできるので、一つの秘密鍵で鍵穴が登録されたすべてのサーバーにアクセスできるため、管理も非常に簡単になります。

FTPよりも安全なSSHキー。
では具体的に登録に進んでまいりましょう!

cPanelでSSHキーを発行する手順

今回、弊社提供の共用サーバー、「HOLO」の画面を元に説明いたします。

  1. cPanelにログインします。提供されたURL、ユーザー名、パスワードを使用してログインします。

  2. HOLO(cPanel)ダッシュボードに入ったら、「セキュリティ」の「SSHアクセス」にアクセスします。

  3. 「SSHキー管理」をクリックします。

  4. 何も登録されていない状態が以下になります。
    「新しいキーの生成」が、SSHの秘密鍵(キー)と公開鍵(キー)を作成するボタンで、「キーのインポート」は公開鍵(キー)を登録するボタンになります。
    今回は秘密鍵(キー)と公開鍵(キー)を作成する説明なので、「新しいキーの生成」ボタンをクリックします。

  5. 秘密鍵と公開鍵の設定を行います。

    Key Name ご自由にご入力ください。(例:ご自身の名前をアルファベット表示で入力)
    キーのパスワード 強度が問題なくなるまで指示に従ってパスワードを入力ください。パスワード生成ツールを使うのも有効です。
    (ただし今後必ず利用するPWになるので設定にはご注意ください)
    キーの種類 RSA(デフォルト)
    キーサイズ 2048(デフォルト)

    その後、「キーの生成」をクリックしてください。

  6. キーの生成が完了と出たら、画面下の「戻る」をクリックします。
  7. すると以下の画面になります。
    「公開キー」と「秘密キー」にそれぞれ値が入りました。
    まずは公開キーからの設定を行います。
    公開キーは登録の際、認証ステータスが「not authorized(未認証)」になっているので、アクセスさせるようにするには「 authorized(認証)」にする必要がありますので、「管理」をクリックします。

  8. その後、「authorized」をクリックし、完了したら「戻る」をクリックします。
  9. これで公開キーの登録は完了です。
    次に秘密キーをダウンロードしましょう。
    「秘密キー」の「表示/ダウンロード」をクリックします。
  10. すると以下の画面が表示されます。
    保存の仕方はそれぞれありますが、今回はSFTPでの接続を行う上で必要なPPK形式で変換したいと思います。
    最下部のパスフレーズ(5で登録したパスワード)を記入し、「変換」ボタンをクリックします。
  11. すると、以下の表示になりますので、「キーをダウンロード」をクリックし、ご自身のPCにダウンロードします。
    (セキュリティ上、ご自身の鍵ですのでわかりやすいところに置いておかない事をお勧めします)
  12. その後、「キー管理に戻る」をクリックし、以下に戻ってきます。
    秘密キーをPCに保存したため、秘密キーを削除しましょう。(鍵をそのまま放置しておくようなものなので削除をお勧めいたします。)
  13. 最後に、「キーの削除」をクリック。
  14. 以上で完了です。

これで、cPanelを利用してSSHキーを発行する手順が完了しました。
SSHキーを使って、セキュリティを強化したサーバーアクセスが可能です。
秘密鍵は安全な場所に保存し、安全な通信を実現しましょう!

SSHキーを使った接続方法についてはこちら『SFTP接続の一例(FileZilla)

関連した記事を見る