Skip to main content

KTDEVX

【Ubuntu】公開鍵認証でSSH接続する方法

Table of Contents

UbuntuにSSH接続する際、パスワード認証ではなく公開鍵認証を利用すると、セキュリティを向上させることができます。本記事では、SSH公開鍵認証の設定方法を詳しく解説します。

# 公開鍵と秘密鍵の生成

まずはクライアント側でSSH鍵を生成します。今回は鍵アルゴリズムED25519で作成しました。

ssh-keygen -t ed25519

SSH鍵の生成方法は以下のページで詳しく解説しています。参考にしてください。

SSH鍵の生成方法

上記コマンドを実行すると、秘密鍵と公開鍵が~/.ssh/ディレクトリに生成されます。

# 公開鍵をサーバーにコピー

生成した公開鍵をSSHサーバーにコピーします。

ssh-copy-id <ユーザー名>@<ホスト名> -i <公開鍵へのパス>

または、手動で公開鍵の内容をサーバーの~/.ssh/authorized_keysに追加することもできます。

# SSH設定の変更

セキュリティ向上のため、パスワードでのSSH接続を禁止し、公開鍵認証のみで接続できるようにします。

SSHの設定を変更するには、サーバーの/etc/ssh/sshd_configをテキストエディタで編集します。以下の設定を確認・変更してください。

PubkeyAuthentication yes
PasswordAuthentication no

設定を反映させるため、SSHを再起動します。

sudo systemctl restart ssh

# SSH接続の確認

クライアントからSSH接続を試します。

ssh <ユーザー名>@<ホスト名> -i <秘密鍵へのパス>

ログインできれば、公開鍵認証の設定は完了です。