サーバシェアするSSHの認証方式には、パスワード認証方式と公開鍵認証方式があります。秘密鍵と公開鍵で認証する方式です。パスワード認証方式は、一般的な認証方式ではありますが、正しいユーザ名とパスワードさえわかれば誰でもサーバにログインすることができてしまうので、セキュリティ的に脆弱な認証方式となります。これまで、rootユーザのログイン禁止、SSHのポート番号変更を行ってきましたが、SSHに対するセキュリティ対策としてはまだ十分とは言えません。悪意あるユーザによる不正なログインから自分のサーバを守るために、パスワード認証を禁止し、公開鍵認証によるログインを行うことをおすすめします。今回は、公開鍵認証を行うための設定、および、パスワード認証によるログインを禁止する設定について説明します。※以下の環境を例に説明します。目次1.公開鍵認証方式とは2.クライアントPCで秘密鍵と公開鍵を作成3.クライアントPCに秘密鍵を設定4.サーバに公開鍵を設定5.公開鍵認証によるログイン6.パスワード認証によるログインの禁止1.公開鍵認証方式とは公開鍵認証方式とは、秘密鍵と公開鍵で認証する方式です。クライアントPCに秘密鍵を設定し、サーバに公開鍵を設定します。対となる秘密鍵、公開鍵が揃った場合のみ、サーバにログインすることができます。サーバにログインする際、秘密鍵にアクセスするために、事前に設定したパスフレーズを正しく入力する必要があります。2.クライアントPCで秘密鍵と公開鍵を作成クライアントPCで、SSH接続ツールのRLoginを使って、秘密鍵と公開鍵を作成します。秘密鍵と公開鍵はサーバで作成することもできます。その場合、秘密鍵をサーバからクライアントPCに移動する必要があり、ネット上に秘密鍵が流れることになるのでセキュリティ的にはよくありません。SSH接続ツールのRLoginを起動します。Select」画面で、「新規」をクリックします。Entry」画面で、「プロトコル」をクリックします。プロトコル」画面で、「認証キー」をクリックします。「認証キー」画面で、「新規」エリアに「RSA2」「2048」が選択されていることを確認し、「作成」をクリックします。「SSH鍵の作成」画面で、任意のパスフレーズを入力して「OK」をクリックします。「認証キー」画面で、「認証キーリスト」エリアに作成した認証キーが表示されていることを確認します。これで、クライアントPCに秘密鍵と公開鍵が作成されました。3.クライアントPCに秘密鍵を設定クライアントPCで秘密鍵と公開鍵の作成が完了したら、秘密鍵を取り出し、クライアントPCの任意の場所に配置します。「認証キー」画面で、「認証キーリスト」エリアに表示されている認証キーの中から、今回作成した認証キーをチェックし、「エクスポート」をクリックします。「SSH鍵ファイルの保存」画面で、秘密鍵を保存する任意の「ディレクトリ名\ファイル名」を指定して、任意のパスフレーズを入力し、「OK」をクリックします。以下は、ファイル名を「id_rsa」とした場合の例です。指定したディレクトリ配下に「id_rsa」というファイル名のファイルが作成されていることを確認して下さい。秘密鍵でサーバにログインする設定を行います。Entry」画面で、以下の項目を入力します。任意の文字列を入力して下さい。仮登録完了のお知らせ」メールにより通知されます。「参照」をクリックし、先ほど作成した「id_rsa」ファイルを指定します。最後に、「OK」をクリックしてクライアントPC側の設定は完了です。4.サーバに公開鍵を設定クライアントPCから公開鍵を取り出し、サーバに配置します。Entry」画面で、「プロトコル」をクリックします。プロトコル」画面で、「認証キー」をクリックします。「認証キー」画面で、「認証キーリスト」エリアに表示されている認証キーの中から対象の認証キーをチェックし、「公開鍵」をクリックします。Key」画面で、「クリックボードにコピーされる公開鍵」の文字列をコピーしておきます。コピーした文字列は、以降の手順10で使用するので、テキスト等に張り付けて保存しておいてください。サーバに一般ユーザでログインします。公開鍵を配置するフォルダを作成します。.ssh」と入力してEnterを押します。公開鍵を配置するフォルダのアクセス権を設定します。.ssh」と入力してEnterを押します。「chmod」はアクセス権を設定するコマンドです。「700」は自分のみ読み書き実行が可能というアクセス権です。「.ssh」はアクセス権の設定対象となるフォルダです。公開鍵を配置するフォルダに移動します。.ssh」と入力してEnterを押します。公開鍵のファイルを作成します。authorized_keys」と入力してEnterを押します。これは、「authorized_keys」というファイルを作成するコマンドです。「vim」はファイルを新規に作成するコマンドです。新規に作成するファイルが開くので、前の手順4でコピー・保存した公開鍵の文字列を設定します。testuser@公開鍵の文字列の設定方法まず、「i」を入力して編集モードに切り替えます。–」と表示され、ファイルを編集できるようになります。--次に、前の手順4でコピー・保存した公開鍵の文字列を貼り付けます。Escでノーマルモードに切り替えます。–」の表示が消え、ファイルを編集できない参照用のモードに戻ります。「:wq」と入力してEnterを押します。これは、ファイルを保存してvimを終了するコマンドです。公開鍵を設定したファイルのアクセス権を設定します。authorized_keys」と入力してEnterを押します。「chmod」はアクセス権を設定するコマンドです。「600」は自分のみ読み書きが可能というアクセス権です。「authorized_keys」はアクセス権の設定対象となるファイルです。authorized_keysこれで、サーバ側の設定は完了です。5.公開鍵認証によるログインここまでの手順で、クライアントPC側での秘密鍵の設定、サーバ側での公開鍵の設定が完了しました。公開鍵認証によるログインを行います。クライアントPC側での作業で行った、秘密鍵でサーバにログインする設定を使って、サーバにログインしてみます。Select」画面で、秘密鍵でサーバにログインする設定を選択し、「OK」をクリックします。「SSH鍵ファイルの読み込み」画面で、秘密鍵のファイルが指定されていることを確認し、パスフレーズを入力して「OK」をクリックします。サーバにログインできました。公開鍵認証によりログインできることが確認できたら、パスワード認証によるログインを禁止します。パスワード認証によるログインの可否は、「/etc/ssh」フォルダ配下にある「sshd_config」ファイル(SSHサーバの設定ファイル)に、「PasswordAuthentication」という項目名で設定されています。今回は、この「PasswordAuthentication」の設定値を変更します。サーバにrootユーザでログインします。次に、「sshd_config」ファイルがある「/etc/ssh」フォルダへ移動します。/etc/ssh」と入力してEnterを押します。これは、「etc」フォルダ配下の「ssh」フォルダへ移動するコマンドです。「cd」はフォルダを移動するコマンドです。/etc/ssh「/etc/ssh」フォルダへ移動できました。編集前の「sshd_config」ファイルをバックアップします。sshd_config.yyyymmdd」と入力してEnterを押します。これは、「sshd_config」ファイルをコピーして「sshd_config.yyyymmdd」ファイルを作成するコマンドです。「cp」はファイルをコピーするコマンドです。「yyyymmdd」は設定変更を行う日など任意の年月日として下さい。「sshd_config」ファイルを編集します。sshd_config」と入力してEnterを押します。これは、「sshd_config」ファイルを開くコマンドです。「vim」はファイルを開くコマンドです。sshd_config「sshd_config」のファイルの内容が表示されます。vimで開いたファイル中から「PasswordAuthentication」の文字列を検索します。「/PasswordAuthentication」と入力してEnterを押します。「/」は、vimで開いたファイル中から「/」の後に入力された文字列を検索するコマンドです。/PasswordAuthentication「PasswordAuthentication」の文字列に該当する箇所にカーソルがあたります。検索を繰り返して、以下のように記載されている箇所を探して下さい。yes先頭の「#」はコメントアウトです。コメントアウトは「未設定」と同様の扱いになります。「PasswordAuthentication」が未設定の場合、パスワード認証によるログインを許可します。「PasswordAuthentication」の設定を以下のように変更します。no設定値の変更方法まず、「i」を入力して編集モードに切り替えます。–」と表示され、ファイルを編集できるようになります。--以下の要領で設定値を変更します。↑↓←→で更新対象までカーソルを移動します。xやBackspaceやDeleteで元の設定値を削除します。新しい設定値を入力します。no設定値の変更が終わったら、Escでノーマルモードに切り替えます。–」の表示が消え、ファイルを編集できない参照用のモードに戻ります。「:wq」と入力してEnterを押します。これは、ファイルを保存してvimを終了するコマンドです。設定した内容を有効化するために、SSHサーバを再起動します。restart」と入力してEnterを押します。restartSSHサーバの再起動が完了しました。]パスワード認証によるログインができなくなったことを確認して下さい。スポンサーリンクレクタングル大レクタングル大シェアするフォローするしん関連記事CentOSでファイアウォール設定~VPSのセキュリティ対策!VPSは、あらゆるアクセスに対して無防備な状態で提供されます。VPSの利用を開始するにあたって、悪意あるユーザの攻撃から自分のサーバを守るために、ファイ...記事を読むさくらのVPSを本登録~お試し期間中はドメイン設定できない!さくらのVPSは、支払方法としてクレジット払いを選択することで、2週間無料のお試し期間をつけることができますが、お試し期間中は独自ドメインの設定ができま...記事を読むさくらのVPSでブログを始める!申込方法からサーバ起動まで今回は、さくらのVPSの申し込みから、管理画面であるコントロールパネルへのログイン、サーバの起動までの手順を説明します。1.さくらのVPSの申込方法...記事を読むVPSの始め方!サーバの操作方法とまずはじめにすべきこと今回は、サーバの操作方法と、VPSを始めたらまずはじめに行うべきことについて説明します。サーバのOSとしては、日本ではよく使われているCentO...記事を読むCentOSでSSHのポート番号変更~VPSのセキュリティ対策!SSHは、サーバにログインして様々なサーバ操作を行う際に利用します。SSHのポート番号はデフォルトで22番となっていますが、悪意あるユーザの攻撃対象とな...記事を読むCentOSでrootユーザのログイン禁止~VPSのセキュリティ対策!サーバにログインするためには、正しいユーザ名とパスワードを入力する必要があります。コメントをキャンセルメールアドレスが公開されることはありません。