Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

Linuxを使っているなら、SSHというツールの名前を一度は耳にしたことがあるでしょう。SSH(Secure Shell)は、クライアントとリモートサーバー間の安全な接続を確立するためのネットワークプロトコルです。ネットワーク経由で、さまざまな種類のコンピュータに安全にリモートログインできるよう設計されています。この記事では、SSHのセットアップ方法と、サーバーへのSSHキーの簡単な登録方法をわかりやすく解説します。

SSHのインストール

まずはSSHサーバーをインストールしましょう。ソフトウェアセンターまたはパッケージマネージャーから「openssh-server」パッケージを検索してインストールできます。サーバー環境の場合や、ターミナル操作を好む方は、以下のコマンドを実行してください。

# Ubuntu/Debian
sudo apt install openssh-server

# Fedora/CentOS/RHEL
sudo dnf install openssh-server
LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

LinuxでSSHを有効化する

OpenSSHサーバーのインストールが完了したら、続いてsystemdユニットを起動・有効化します。次のコマンドをターミナルに入力するだけでOKです。

sudo systemctl enable --now ssh
LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

SSHキーの生成

OpenSSHサーバーのインストール後は、SSHキーペアの生成に進めます。ただし作業を始める前に、既存のキーペアがないか必ず確認してください。この処理は既存のキーを上書きしてしまうためです。

既存のキーペアの有無は、次のコマンドで確認できます。

ls -la ~/.ssh

既存のキーペアがある場合、このコマンドによって「id_rsa」と「id_rsa.pub」というファイルが表示されます。

LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

既存のSSHキーペアがないことを確認できたら、新しいキーを生成しましょう。すでにキーを持っている場合は、紛失を防ぐために古いキーをバックアップしておいてください。

新しいキーを生成するには、次のコマンドを使用します。

ssh-keygen -t rsa -b 4096

上記のコマンドは「ssh-keygen」ユーティリティを呼び出し、対話形式でSSHキーペアを生成します。「-t」オプションでは生成するキーのタイプを指定します。ここではRSAキーを生成しています。

また「-b」オプションでは、キーのビット数を指定します。RSAキーの場合、最小ビット数は1024です。指定しない場合は3072ビットでキーが生成されます。

LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

SSHキーはデフォルトの場所に保存するのがおすすめです。あらかじめ標準の場所に入れておけば、キーを使ってSSH接続する際にパスを入力する手間が省けます。

パスフレーズでキーを暗号化したくない場合は、そのままEnterキーを押せばスキップできます。

リモートサーバーへキーをコピーする

新しいSSHキーペアを生成したら、管理したいリモートマシンにアップロードする必要があります。

最も効率的な方法は「ssh-copy-id」コマンドを使うことです。次のように実行します。

ssh-copy-id remote_user@remote_IP

別のファイル名のキーファイルを使用している場合は、次のコマンドでキーファイルのパスを指定できます。

ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP

リモートマシンに初めてログインする場合は、ホストのフィンガープリントを受け入れる必要があります。

続いて、リモートユーザーのSSHパスワードを入力します。

認証が完了すると、「ssh-copy-id」コマンドは「id_rsa.pub」キーの内容をリモートマシンの「~/.ssh/authorized_keys」ファイルに追記し、接続を閉じます。

LinuxでSSHを設定して使う方法【初心者向け完全ガイド】

リモートマシンにログインする

ここまでの手順がすべて完了していれば、パスワードなしでリモートサーバーにログインできるようになっています。

次のコマンドで動作をテストしてみましょう。

ssh remote_user@remote_ip

キーにパスフレーズを設定していなければ、自動的にログインされます。

よくある質問

1. SSHは安全なのか?

SSHは、認証されたユーザーだけがリモートシステムにログインできる強力なセキュリティツールです。しかし、その安全性は設定ファイル次第だという点に注意が必要です。未設定または誤って設定されたSSHサーバーは、ハッカーや第三者による不正アクセスに対して脆弱になります。SSHをインストールしたら、すぐにセキュリティ設定を見直しておきましょう。

2. SSHの認証キー(authorized_keys)はどこにある?

SSHのauthorized_keysファイルには各ユーザーの公開鍵が保存されており、どのユーザーがサーバーにログインできるかを指定します。Linuxでは、通常ユーザーのホームディレクトリ内の「.ssh」フォルダに配置されています。

3. ssh-copy-idで「Permission denied」エラーが出る場合の対処法は?

このエラーは、リモートサーバーにすでに公開鍵が設定されており、かつパスワード認証が無効化されている場合に発生します。対処するには、まずサーバーにログインし、「/etc/ssh/sshd_config」ファイルでパスワード認証を一時的に有効にしてから、「ssh-copy-id」コマンドを再度実行します。

新しいキーファイルのコピーが完了したら、パスワード認証オプションを必ず再度無効化しておきましょう。

まとめ

これでSSHのセットアップと基本的な使い方はマスターできました。次に行うべきは、SSH設定のセキュリティ強化です。また、Windowsユーザーの方は、Windows環境でSSHキーペアを生成する方法についても学んでおくと便利です。

  1. Linuxで環境変数を設定・一覧表示する方法をわかりやすく解説

    かつてLinuxを使うには、まずコマンドラインに慣れることが必須でした。しかし、GNOMEやKDEといったデスクトップ環境の登場により、初心者でもLinuxを格段に扱いやすくなりました。ターミナルコマンドを一切知らなくても、長期間Linuxを使い続けることが可能になっています。 とはいえ、いずれコマンドラインが必要な作業に行き当たるもの。そこまで踏み込むと、環境変数について知っておく必要が出てきます。「環境変数」という言葉は難しそうに聞こえますが、実はとても理解しやすい概念です。 環境変数とは? 環境変数を使えば、アプリケーションの設定ファイルを編集することなく、さまざまなプログラムのオプシ

  2. Surface Dialのセットアップと使い方を徹底解説!実際に使ってみた本音レビュー

    Surface Dialとの出会いSurface Penを購入した際、マイクロソフトストアでSurface Dialも試してみました。正直なところ、自分の生活の中でそれほど活躍するとは思えませんでしたが、好奇心に負けて購入。万が一気に入らなかったり使わなかったりしても、返品か転売すればいいという軽い気持ちでした。セットアップはとても簡単Surface Dialのセットアップは、Surface Penと同じくらい簡単です。本体底部を外してBluetoothペアリングボタンを長押しし、新しいデバイスとして追加するだけ。これだけでペアリングが完了し、すぐに使い始めることができます。使いこなすには少し