ホーム > ネットワーク管理 > ssh-server

SSHサーバー (sshd): リモート接続管理

SSHサーバーは、Secure Shell (SSH) プロトコルを使用してリモートシステムへの安全な接続を提供するソフトウェアです。主に `sshd` (SSH Daemon) という名前のサービスとして実行され、暗号化された通信チャネルを通じてリモートコマンド実行、ファイル転送 (SCP/SFTP)、ポートフォワーディングなどを可能にします。これは、システム管理、開発、データ転送など、さまざまなリモート作業に不可欠です。

概要

SSHサーバーは、クライアントからのSSH接続要求を受信して認証し、安全な通信セッションを確立します。これにより、リモートでコマンドを実行したり、ファイルを安全に転送したりできます。サーバーのコアコンポーネントは `sshd` デーモンであり、このデーモンは通常、システム起動時に自動的に開始されるように設定されています。

主な機能

SSHサーバーが提供する主要な機能です。

  • リモートシェル接続: 暗号化されたターミナルを通じてリモートサーバーに接続し、コマンドを実行
  • 安全なファイル転送: SCP (Secure Copy) および SFTP (SSH File Transfer Protocol) を使用したファイルのアップロード/ダウンロード
  • ポートフォワーディング: ローカル/リモートポートをトンネリングして、セキュアでないサービスへの安全なアクセスを提供
  • 鍵ベース認証: パスワードの代わりにSSHキーを使用して、より強力なセキュリティ認証

主なオプション (sshd コマンド)

`sshd` デーモンを直接実行する際に使用される主なオプションです。通常は `systemd` のようなサービスマネージャーを通じて実行されるため、これらのオプションは主にデバッグや特定の環境設定テスト時に役立ちます。

実行とデバッグ

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`ssh-server` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

インストール

ほとんどのLinuxディストリビューションでは、SSHサーバーは `openssh-server` パッケージを通じて提供されます。デフォルトでインストールされていない場合は、次のコマンドを使用してインストールできます。

Debian/Ubuntu ベースのシステム

sudo apt update
sudo apt install openssh-server

APTパッケージマネージャーを使用して `openssh-server` をインストールします。

CentOS/RHEL ベースのシステム

sudo yum install openssh-server
# または Fedora/最新RHEL:
sudo dnf install openssh-server

YUM または DNF パッケージマネージャーを使用して `openssh-server` をインストールします。

使用例

SSHサーバーを管理および設定する一般的な方法です。

SSHサービス開始

sudo systemctl start ssh

SSHデーモン (`sshd`) サービスを開始します。

SSHサービス再起動

sudo systemctl restart ssh

SSHデーモンサービスを再起動します。設定ファイルの変更を適用する際によく使用されます。

SSHサービスの状態確認

sudo systemctl status ssh

SSHデーモンサービスの現在の状態を確認します。

SSHサービス自動起動の有効化

sudo systemctl enable ssh

システム起動時にSSHサービスが自動的に開始されるように設定します。

ファイアウォールでSSHポートを開く (UFW)

sudo ufw allow ssh
# または特定のポートを使用する場合:
sudo ufw allow 2222/tcp

UFW (Uncomplicated Firewall) を使用している場合、SSHのデフォルトポート (22) を許可します。

SSH設定ファイルの編集

sudo nano /etc/ssh/sshd_config

SSHサーバーの主要な設定ファイルである `sshd_config` を編集します。変更後は必ずSSHサービスを再起動する必要があります。

ヒントと注意点

SSHサーバーを安全かつ効率的に運用するための重要なヒントと注意点です。

セキュリティ強化のヒント

SSHサーバーのセキュリティを強化するための推奨事項です。

  • **デフォルトポートの変更**: デフォルトのSSHポート (22) を、あまり知られていない別のポート (例: 2222) に変更して、ランダムな攻撃試行を減らします (`/etc/ssh/sshd_config` ファイルの `Port` ディレクティブを編集)
  • **パスワードの代わりに鍵ベース認証を使用**: SSHキーペアを生成して、パスワード認証よりもはるかに強力なセキュリティを提供します (`PasswordAuthentication no` を設定)
  • **rootログインの無効化**: `root` アカウントでの直接SSH接続を禁止し、一般ユーザーアカウントでログインしてから `sudo` を使用するようにします (`PermitRootLogin no` を設定)
  • **Fail2Banの使用**: 繰り返しログインに失敗したIPアドレスを自動的にブロックする `Fail2Ban` のようなツールをインストールして、ブルートフォース攻撃を防ぎます。
  • **許可するユーザー/グループの制限**: `AllowUsers` または `AllowGroups` ディレクティブを使用して、SSH接続を許可するユーザーまたはグループを明示的に指定します。

file SSH設定ファイルのパス

/etc/ssh/sshd_config

SSHサーバーの主な設定ファイルは次のパスにあります。


同じカテゴリのコマンド