CentOSでSSH鍵認証を導入する手順

VPSサーバーなど、自分がroot権限を握って管理する場合は、サーバーへのログインにSSH鍵認証を導入するべきです。このページでは、CentOSのサーバーにSSH鍵認証を導入するやり方を解説します。

概要

  • サーバーにSSHをインストールする。
  • SSH公開鍵と秘密鍵を作成する。
  • 鍵認証を行うユーザーで、鍵をサーバーに登録する。
  • 必要に応じてSSHの設定を変更。
  • SSH鍵認証でログインできれば成功。
詳細は以下

SSHのインストール(サーバー)

もしサーバーにSSHがインストールされていない場合は、以下のコマンドでインストールしてください。(sudoできるユーザーで実行すること) SSHがインストール・起動済みの場合は次のステップに進みます。

SSH鍵の生成(ローカル)

PuTTYでのやり方はこちらで解説します。今回はTera Termで生成します。どちらでもお好みで。


Tera Termを起動して、「設定」→「SSH鍵生成」


「生成」


  • パスフレーズは、それなりの長さの半角英数字(最低でも8文字以上)を入力してください。サーバーログイン時に使うことになるので、紙に書くか、パスワード管理ソフトに登録しておきましょう。
  • コメントには、鍵を使うサーバー名かなんかを入れておけばいいと思います。
パスフレーズとコメントを入れたら、「公開鍵」と「秘密鍵」を保存します。この2つでワンセットです。
「公開鍵」は、「公開鍵の保存」ボタンを押して、拡張子.pubで保存してください。
「秘密鍵」は、「秘密鍵の保存」ボタンを押して、拡張子.ppkで保存してください。
公開鍵と秘密鍵の対応はしっかり取りましょう。ごちゃごちゃにならないように気をつけて保管してください。

鍵の登録(サーバー・ローカル)

鍵セットを用意できたら、サーバーに「公開鍵」を登録します。「鍵認証を行うユーザーで」サーバーにログインしてください。Tera Termでのログインを推奨します。 vimが起動するので、まずは「A」のキーを押して編集できるモードにします。それから、先ほど作成した公開鍵のファイル(拡張子.pubの方)をテキストエディタで開き、中身をまるごとコピーします。コピーしたら、それをまるごとペーストします(Alt+Vか右クリックで可能)。ペーストし終わったら、「Esc」キーを押して、「:wq」と打ち込んでください。これで保存完了です。

Tera Termを使っているなら(と言うかその前提で話を進めてる)、vimで「A」のキーを押して編集できるモードにしたら、公開鍵のファイル(拡張子.pubの方)をvimで編集しているところの画面にドロップ→「ファイル送信」で一瞬にしてコピペが終わるので、ローカルではテキストエディタに触れることなく作業が終了します。

保存完了したら、 これで鍵の登録作業は終了です。

サーバー側の設定

ここからは、SSHで鍵認証を使えるようにサーバー側の設定を変更します。今度はsudoできるユーザーでログインしてください。 私の場合は、このあたりを書き換えました。ポート番号を変更する場合はポートの開放設定も忘れずに。書き換え終わったら、

ログインのテスト

それでは、公開鍵を登録したユーザーでログインしてみましょう。


Tera Termで、接続先サーバー情報を入力して接続します。ポート番号を変更した場合は変更後の番号を入れてください。


「RSA/DSA/ECDSA/ED25519鍵を使う」に切り替え、用意した「秘密鍵」(拡張子.ppkの方)を参照し、ユーザー名と「秘密鍵のパスフレーズ」を入力し、ログインしてください。

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

Bitcoin:

Monacoin:

Litecoin: