公開鍵認証の設定(さくらVPS) ターミナルでさくらのVPSはにSSH接続して公開鍵認証の設定を行います。 sshでサーバーにログイン.
なお、この例では接続時に SSH 接続の継続確認で「yes」を選択しても、root での認証が通らずにエラーになります(Permission denied)。しかし、こちらは先ほど認証時の設定を変更しているため、root でログインができなくても正しい挙動です。また、一般ユーザのログインを試みても、サーバ上には接続元としての鍵ペア(の秘密鍵)がなく、パスワード認証も無効にしているため、接続できません。あとはログアウトした後(「logout」または「exit」コマンドを入力して SSH 接続を終了)、再度ログインを試みます。このとき、認証にはパスワードを使わず、秘密鍵を指定してログインできることを確認します。Linux や macOS では ssh-keygen コマンドで鍵ペアを作成します。あるいは、既に鍵ペアを作成済みであれば、お持ちの鍵ペアを使っても構いません。このチュートリアルは、初めて CentOS 7 を利用する方を対象とし、サーバ管理者として最低限行っておくべきセキュリティ対策をご紹介します。具体的には、安全に操作をするための一般ユーザ作成、sudo 設定、SSH サーバ設定を行います。さらに応用として、CentOS 7 で新しく導入された firewalld を活用し、SSH 接続ポートの変更により安全性を高める方法もご紹介します。あとは、リモートからポート番号を指定して、接続が可能であれば設定は正常です。以下は、 sakura ユーザで、ポート 10022 に接続する例です。次に「sudo vi /etc/ssh/sshd_config」などで設定ファイルを開いたら、ファイル中の2ヵ所を変更します。動作確認では、今の SSH 画面はそのままにし、別のログイン画面を立ち上げての動作確認をお勧めです。標準インストールであれば、OS のデーモン設定、セキュリティ設定、時刻同期など、最低限の設定を済ませてあります。また、OS 再インストールの「カスタム OS インストール」機能からも CentOS 7 を選べます。ただし、カスタム OS インストールでは、OS の初期設定を全て自分で行う必要があります。そのため、初めてのインストールの場合は「標準インストール」のご利用をお勧めします。ファイルを開いたら「port=”22″」の部分を「port=”10022″」など、任意のポート番号に変更します。最後にまとめとして、設定を正しく行ったかどうか、改めて動作のご確認をお願いします。なお、パスワードが不適切な場合は「BAD PASSWORD」(悪いパスワード)の警告が画面に表示されます。言い換えますと、sudo を使えるユーザとは、su コマンドの実行や root パスワードを知らなくても、管理者権限として必要なコマンドを実行できます。まず、sshd_config のポートを「22」から「10022」に変更します。なお、ここでは 分かりやすくするため10022 を設定例として紹介していますが、任意のポート番号を指定すべきです。サーバにログインできたら、セキュリティを高める設定を進めていきましょう。本チュートリアルでは、安全なサーバ環境を作るために、次の基本設定を行います。標準インストールの自動設定内容を知るには、次のセットアップ情報をご覧ください。あとは、root でログインを試みてもエラーとなり、パスワード認証もできなければ設定完了です。ここでは、先ほど作成したユーザを「wheel」グループに追加し、sudo コマンドが使えるようにします。wheel グループとは、sudo コマンドで root 権限を実行するための、特別なグループです。設定は、「su」コマンドで root に切り替えた後、「usermod」コマンドを使います。OS のインストールが終われば、サーバには SSH でログインできます。ログインに必要なユーザ名は「root」、パスワードは OS インストール時に指定したものを使います。次は、作成したユーザに対して、公開鍵認証の設定を行います。PC などのクライアント側で SSH 接続用の鍵ペア(秘密鍵 id_rsa と、公開鍵 id_rsa.pub の組み合わせ )を作成します。作成後はパスワードではなく、クライアント側の秘密鍵を使ったログインができるように、設定を行います。さて、作業は sshd_config の設定変更後、firewalld の設定を変えます。もし、root でログインできたりパスワード認証が通ったりする場合は、設定の見直しをお願いいたします。初期状態ではログイン可能なユーザは「root」のみです。root はサーバ上で全ての操作が可能な特権ユーザです。そのため、インターネット上の SSH サーバに対する不正アクセスや攻撃対象として日々狙われています。攻撃を受ける危険性を減らすには、root でのログインを禁止し、一般ユーザのみログインを許可する設定を行います、・Windows で SSH を使う場合 … OS には SSH 接続に必要なソフトウェアが入っていません。そのため、Tera Term や PuTTY など SSH 用ソフトウェアのダウンロードとセットアップが必要です。SSH の次は、 firewalld の設定ファイルを編集します。コマンドを実行して設定ファイルを開きます。・macOS や Linux の場合 … ターミナル(端末)上から「ssh root@<IPアドレス>」と入力し、接続できます。特別にソフトウェアのセットアップは不要です。これはセキュリティ面や誤操作の防止で役立ちます。sudo コマンドの実行時には、常にログが残ります。また、コマンド実行時、自分のパスワードによる認証を必要とするため、root のパスワードを共有する必要がありません。また、本当に権限が必要な場面でしか root 権限を使わないようにできます。次にサーバ内から自分自身(localhost)のポート 10022 が応答するかどうかを確認します。もし、ポートの応答がなければ(「Connection timed out」などのエラー)、ポートが正常に開いていませんので、設定の見直しが必要です。鍵ペア作成後は、公開鍵ファイル(id_rsa.pub)を scp などを使い、サーバ上の作成したユーザのホームディレクトリにアップロードします。アップロード後は、SSH ログインした状態で、公開鍵リスト用ファイル(authorized_keys)に公開鍵を追加します。実行例(id コマンドを実行すると、root ユーザ権限だと分かります):これまでの設定の仕上げとして、SSH サーバの設定も変更します。正常に稼働しているかどうかは、次のようにコマンドを実行し、sshd が「Active: active (running)」なのを確認します。もしログインできなければ、ユーザ名やパスワードが正しいかどうか確認します。もし「dead」(停止中)となっている場合は、正常に起動していません。原因を調べるためにはログの参照が必要です。ログは「journalctl -xe」コマンドで確認できます。多くの場合は sshd_config の記述ミスに関するエラーが表示されているでしょう。さくらの VPS の場合、もしログインができなくなっても、コントロールパネル上の「コンソール」機能を通して操作可能です。次に、一般ユーザで「sudo」コマンドが使えるように設定します。sudo とは、別のユーザとしてコマンドを実行するためのコマンドであり、設定ファイル /etc/sudoers を参照し、一般ユーザでも root と同じ権限で操作可能な状態にします。Windows の TeraTerm の場合は、以下のサポート情報をご覧ください。設定を変更するには、まず、設定ファイル「/etc/ssh/sshd_config」を編集します。その前に、バックアップ用のファイルを作成しておきます(もしも設定変更後に sshd サーバが起動できなくなっても、元の sshd_config に戻せば復旧できるからです)。CentOS 7 の OS インストール手順については、次のサポート情報をご覧ください。このように警告が表示される場合は、他のパスワードをご検討ください。CentOS 7 では、対象ユーザの次回ログイン以降、設定が有効になります。攻撃の危険性を下げる対策の1つが、SSH ポート番号の変更です。近年はこの手法も一般的になりつつあるため、必ずしも効果は保証できませんが、一定の効果は期待できるものと思います。設定が終われば、対象ユーザでログインできるか確認します。SSH 接続時、ユーザ名を先ほどの「root」ではなく、作成したユーザ名に変更します。また、パスワードを入力し、ログインできるかどうかを確認します。「successfully」(成功)と表示されたら設定完了です。「Sorry, passwords do not match.」(パスワードが一致しない)応用として、SSH の接続用ポート番号を変更する方法を紹介します。SSH 通信に使用するポート番号 22 (tcp) は、一般的によく知られているポート番号であり、常に攻撃対象として晒されています。 初心者がVPS(Virtual Private Server)をWebサーバーとして構築し、WordPressのサイトを運用できるようになるまでの連載の第2回目です。 前回(第1回目)は、レンタルサーバーとVPSの違いや、数あるVPSのプランからどのような基準で自分にあったサーバーを選択すれば良いか?
ターミナルでさくらのVPSはにSSH接続して公開鍵認証の設定を行います。 sshでサーバーにログイン. More than 5 years have passed since last update. ※今回再インストールをしたため再インストール前の公開鍵情報が残っておりエラーがでました。また、Windowsでの公開鍵と秘密鍵の作成はこちらを参考にしてみてください。パスワード入力後、アップロードが開始。100%になると転送完了です。PubkeyAuthentication yes・・・公開鍵認証の許可XXX.XXX.XXX.XXXは転送先のIPアドレスです。hogeは作成したユーザーにあわせて変更してください。はじめてさくらインターネットのVPSを使用する際に必要となる情報を初心者でもわかりやすくまとめていきます。ターミナルでさくらのVPSはにSSH接続して公開鍵認証の設定を行います。格納ディレクトリのパーミッション変更〜公開鍵を別名ファイルに出力、パーミッションの変更、元ファイルの削除。ある日ターミナルから接続しようとすると・・・エラーで接続できません。最初の作業はVNCコンソールで行ってきましたが、通常はSSHクライアントで操作をしていきます。これは安全な接続をするためにサーバーの情報(RSA公開買のフィンガープリント)をクライアント側で保持しているが、前回接続した情報と異なる場合表示されます。PermitRootLogin no・・・root権限のリスクを回避するための方法の1つ。rootでのログインを出来ないようにします。特定の端末からのみ接続できるように公開鍵と秘密鍵の作成、rootログイン禁止、ポート番号の変更など行います。鍵ファイルの保存先を聞いてきますがそのままエンター。その後パスフレーズを入力します。他のPCでも接続したい場合は、秘密鍵をフラッシュメモリなどでコピーして利用するか、他のPC用の公開鍵と秘密鍵を作成してauthorized_keysに追加すると良いでしょう。ここでは説明を割愛します。