「Linux」でSSH鍵認証をセットアップするには–ログインの安全性を高める

今回は「「Linux」でSSH鍵認証をセットアップするには–ログインの安全性を高める」についてご紹介します。

関連ワード (Linuxノウハウ、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 「Secure Shell」(SSH)は、リモートの「Linux」マシンにアクセスするためのデファクトスタンダードのプロトコルだ。SSHはずっと前にtelnetに取って代わっており、リモートログイン用の新たなセキュリティ層を追加した。これは、多くの人が強く求めていた機能だった。

 ただし、SSHのデフォルト設定は、自らのシステムのセキュリティについて深く懸念しているユーザーにとって、必ずしも最適なものではない。初期状態では、SSHは従来のユーザー名とパスワードによるログインを使用する。これでもtelnetを使用する場合に比べるとはるかに安全だが、インターネット上でパスワードを入力して送信することに変わりはない。

 何者かがそのパスワードを傍受した場合、あなたのマシンにアクセスすることが可能になる(ただし、あなたのユーザー名も知っている必要がある)。

 これよりもはるかに優れた方法がある。SSH鍵認証だ。鍵認証では、ユーザー名とパスワードによる認証ではなく、鍵ペアを使用する。これがなぜ重要なのだろうか。鍵認証によってセキュリティが強化される最大の理由は、一致する鍵ペアを持っていない限り、それらのサーバーにアクセスできないことだ(それらのサーバーで、SSH鍵認証が適切に設定されている必要がある)。

 SSH鍵認証の仕組みは、以下の通りだ。

 適切に設定した後は、一致する秘密鍵を持っていなければ、サーバーへのリモートアクセスが許可されなくなる。秘密鍵がなければ、アクセスできない。その秘密鍵を他者に知られない限り、安全を維持することが可能だ。

 では、どのように設定を実行すればいいのだろうか。本記事では、その手順を紹介する。

 SSH鍵認証のセットアップには、少なくとも2台のLinuxマシンが必要だ。1つはログイン先のマシンで、もう1つはログイン元のマシンだ。ここでは、デスクトップに「Pop!_OS」を、リモートサーバーに「Ubuntu Server」を使用して、説明を進める。とはいえ、この手順はほぼすべてのLinuxディストリビューションで同じように機能するはずだ。それらのマシンに加えて、sudo権限を持つユーザーも必要だ。さらに、ローカルマシンとリモートマシンの両方で同じユーザー名を使用している必要がある。

 必要なものは以上である。それでは、SSHのセットアップに移ろう。

 デスクトップOSで、ターミナルウィンドウを開く。

 ターミナルウィンドウで、以下のコマンドを実行してSSH鍵ペアを生成する。

 最初に、鍵を保存したい場所を尋ねられる。デフォルトの場所に保存するのが得策なので、プロンプトが表示されたら「Enter」キーを押してほしい。次に、鍵ペアのパスワードを入力して確認するよう求められる。このパスワードは強力で一意のものにする必要がある。空のパスワードは安全ではないので、使用しないでほしい。

 このステップは少し複雑だ。公開鍵をリモートサーバーに送信する必要がある。そのためには、サーバーのIPアドレスを知っている必要がある。サーバーにログインして、ip aコマンドを実行すると、そのサーバーのIPアドレスを取得できる。IPアドレスが表示されるはずだ。その情報を入手したら、デスクトップに戻って、以下のコマンドを実行し、公開鍵をサーバーに送信する。

 SERVERはリモートサーバーのIPアドレスだ。

 リモートサーバーのユーザーのパスワードを入力するよう求められる。認証に成功すると、公開鍵がコピーされ、SSH鍵認証の準備が整う。これで、リモートサーバーへのログインを試みると、ユーザーパスワードではなく、SSH鍵パスワードの入力を求められるようになった。

 鍵をコピーしたら、リモートマシンにログインする。ここでは、SSH経由の接続だけを許可するようにSSHサーバーを設定する。これを実行する前に、注意しておくべきことがある。この設定が完了すると、マシン上でSSH鍵認証をセットアップしたユーザー以外は、アクセスを許可されなくなる。したがって、そのリモートサーバーへのログインに使用するすべてのデスクトップマシンからSSH鍵をコピーしておく必要がある。

 それが完了したら、以下のコマンドを実行して、リモートサーバー上のSSHデーモン設定ファイルを開く。

 そのファイルで、以下の行を探す。

 その行を以下のように変更する。

 ファイルを保存して閉じる。以下のコマンドでSSHを再起動する。

 これで、SSH鍵認証以外の方法では、そのマシンにリモート接続できなくなった。一致する鍵ペアを持たないマシンは、アクセスを拒否される。

 おめでとう。Linuxサーバーに新たなセキュリティ層を追加する作業は、これで完了だ。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
Palantir、新興企業向け「Foundry for Builders」を立ち上げ
IT関連
2021-07-22 16:11
【レビュー】新しいiPad Pro 12.9インチモデルを動画でチェック!M1、5G、ミニLEDなど進化点盛りだくさん
ハードウェア
2021-05-20 10:59
GitHub、「Dependabot」向けカスタム自動トリアージルールのベータ版を提供
IT関連
2023-09-17 18:15
クラウドネイティブ化がLINEのネットワーク開発にもたらしたスピード。テレコム企業はOSSとどう付き合うのか。Cloud Native Telecom Operator Meetup 2022[PR]
クラウド
2022-12-08 15:09
ブロックチェーン活用し「唯一無二」のアニメ原画データなどを販売する「AniPic!」が4000万円調達
ネットサービス
2021-02-20 19:45
AWS、オープンソースのコンテナ開発ツール「Finch」のWindows版リリース。コンテナのビルドや実行環境一式
AWS
2024-02-06 13:52
グーグル「Chrome」のロゴ、8年ぶりに変更
IT関連
2022-02-08 13:44
コミュニケーションで仕事の未来を切り拓く存在に–ZVC JAPAN・下垣会長
IT関連
2023-01-13 18:09
TwitterのDM検索機能、ようやくAndroidアプリでも
アプリ・Web
2021-05-15 06:20
NTT、内部不正などによる情報漏えいの対策を発表–総費用は約300億円
IT関連
2024-03-10 11:42
新宿の巨大猫、映像が猫に決まった理由は? 企画会社が資料公開 「ディレクターがこっそり忍ばせた案」
イラスト・デザイン
2021-07-17 17:52
「VMware vSAN Max」発表。コンピュートと独立したvSANストレージアレイのスケールが可能に。VMware Explore 2023
VMware
2023-08-24 03:24
アトラシアンが製品群にAIを搭載。社内文書や共有情報を学習し、自然言語で社内の情報やプロジェクト進捗などを質問できる「Atlassian Intelligence」発表
DevOps
2023-04-21 00:43
自作マスク印刷にも……小型昇華転写プリンタ、エプソンが12万円で発売 ハンドメイド市場拡大に対応
くらテク
2021-01-27 22:52