SSHサーバ 【SSH server】 sshd / ssh daemon / sshデーモン
概要
SSHサーバ(SSH server)とは、遠隔からコンピュータに接続して操作するSSH(secure shell)のサーバ側のソフトウェア。SSHクライアントと通信し、利用者の操作を受け付けて実行し、結果をクライアントに応答する。SSHは暗号化された伝送経路を構築して安全にコンピュータを遠隔操作する通信手順(プロトコル)で、利用者が直に操作して入出力を行うソフトウェアをSSHクライアント、遠隔からの接続を受け付けて操作を実行するソフトウェアをSSHサーバという。
標準ではTCPの22番ポートで接続を待ち受けるが、攻撃を避けるために他のポート番号を使用することも多い。クライアントが接続してきたら自身が本物であることを証明するため、電子署名によるホスト認証(サーバ認証)を提供する。本物と確認できたら共通鍵暗号の鍵交換を行い、暗号通信を開始する。
暗号化された通信によりクライアントの認証を行う。事前に登録したパスワードによる認証か、公開鍵暗号による電子署名を応用した公開鍵認証を選択することができる。認証が成功すると操作の受付が開始され、一般的なUNIX系OSのシェルのようにコマンド入力と文字出力による対話的な操作(CLI/CUI)が可能となる。
SSHプロトコルは標準化されており、クライアント、サーバともに様々なシステムに対応したソフトウェアが存在するため、クライアント側とサーバ側が異なるOSを利用していても問題なく操作できる。一般的なコマンド操作だけでなく、scpコマンドやsftpコマンド(SFTP)でローカル側とリモート側のファイル送受信などを行うこともできる。
SSHサーバの著名な実装にオープンソースの「OpenSSH」があり、LinuxなどのUNIX系OSの多くに同梱され標準的に用いられている。UNIX系OSではSSHで接続を受け付ける常駐プログラム(デーモン)の名前として慣用的に「sshd」(ssh daemon)が用いられるため、SSHサーバのことを指してsshdと呼ぶことも多い。
(2022.5.18更新)