メインコンテンツまでスキップ

UbuntuにSSHサーバーを設定する

SSHは、ユーザーがリモートサーバーに安全にアクセスし、管理できるネットワークプロトコルです。

今回は、パスワードなしでログインするための詳細な手順を記録します。

OpenSSHサーバーのインストール

ターミナルを開きます。

以下のコマンドを入力してOpenSSHサーバーをインストールします:

sudo apt update
sudo apt install openssh-server

SSHサーバーの状態を確認

以下のコマンドを使用してSSHサーバーの状態を確認します:

sudo systemctl status ssh

「Active: active (running)」と表示されれば、SSHサーバーは正常に起動しています。

SSHパスワードなしログインの設定:

クライアントでSSHキー対を生成

ターミナルを開きます。

以下のコマンドを入力してキー対を生成します:

ssh-keygen

指示に従って操作します。通常、デフォルト設定で問題ありません。パスフレーズを尋ねられたら、Enterキーを押してパスワードなしでキー対を作成します。

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

ssh-copy-idコマンドを使用して公開鍵をサーバーにコピーします。[username] と [server-ip] をあなたのサーバー情報に置き換えてください。

ssh-copy-id [username]@[server-ip]

例えば:

ssh-copy-id john@192.168.0.100

もしサーバーがデフォルトのSSHポート(22番)を変更している場合(例:2222番など)、-pオプションを使って指定します:

ssh-copy-id -p 2222 john@192.168.0.100

このコマンドを実行すると、サーバーのパスワードを入力するように求められます。

認証が成功すると、公開鍵がサーバーの~/.ssh/authorized_keysファイルに追加されます。

パスワードなしログインのテスト

SSHでサーバーに接続してみます:

ssh [username]@[server-ip]

すべてが正しく設定されていれば、パスワードなしでサーバーにログインできるはずです。

パスワード認証の無効化

SSHキーが設定できたら、セキュリティを強化するために、パスワード認証を無効にすることができます。

これは、サーバーの/etc/ssh/sshd_configファイルで設定できます:

sudo vim /etc/ssh/sshd_config

ファイル内のPasswordAuthenticationオプションを探し、noに設定します。

これで設定が完了しました!SSHが安全にパスワードなしで使用できるようになりました。