Secure Shell

提供: セキュリティ
移動: 案内検索
スポンサーリンク

ssh (Secure_Shell, セキュアシェル) は、認証を含む通信を安全にするためのプロトコルのこと、もしくは、ssh コマンドのことを指します。リモートでログインをして、コマンドを実行したり、ファイルを転送するといったことが実現できます。また、sshコマンドのポートフォワーディング機能を使うことで、「通信が暗号化されないサービス」の通信を暗号化できます。認証は、パスワード認証公開鍵認証ワンタイムパスワードなどが利用できます。デフォルトでは、TCPの22番ポートを利用します。sshポートフォワーディングを利用して、非暗号通信のプログラムの通信経路を暗号化するといった使い方もできます。

読み方

Secure Shell
せきゅあしぇる
ssh
えすえすえいち

概要

ssh は、 telnet や rsh, rlogin といったリモートホストを操作するためのコマンド群を安全にするための代替をして考えれました。

telnet や ftp などは、通信が平文で行われるため、ネットワークに平文で認証に用いるパスワードが流れています。 ネットワークを覗き見されることにより、認証情報やデータが盗聴されます。

SSHのプロトコルバージョン

SSHとTLS/SSLは、別物です。 SSHのプロトコルバージョンとSSL/TLSのプロトコルバージョンは、別物です。

バージョン

ssh には、バージョン1とバージョン2の2つのプロトコルが存在します。バージョン1は、脆弱性が発見されているため、推奨されていません。

SSHプロトコルバージョン2(SSH v2)は、SSHプロトコルバージョン1(SSH v1)の欠点を補うために開発されました。

SSHのポート番号

SSHでは、TCPの22番ポートを利用します。

22番ポートは、たびたび、外部からスキャンされて、ログイン試行を繰り返されることがあるため、デフォルトの22番以外のポートを利用する人もいます。

暗号方式

ssh は、公開鍵認証を用いて、共通鍵暗号共通鍵を暗号化して、鍵交換を行います。通信自体は、高速な共通鍵暗号を用います。

認証の方式

SSHは、ホスト認証とユーザ認証から成り立っています。

sshサーバ(sshd)の設定に依存しますが、以下の認証が使用できます。

また、Pluggable Authentication Modules(PAM)を使用することで、上記以外の認証を追加できます。たとえば、二要素認証としてよく利用されるワンタイムパスワード(OTP)を追加することができます。

通信のフロー

SSH バージョン 2

  1. プロトコルバージョンの選択
  2. パラメータネゴシエーション
  3. セッション鍵交換(DH鍵共有)
  4. ホスト鍵認証
  5. ユーザ認証
  6. セッション確立
  7. セッション終了

SSH バージョン 1

  1. プロトコルバージョンの選択
  2. セッション鍵交換(サーバ鍵を使用)
  3. ホスト鍵認証
  4. ユーザ認証
  5. セッション確立
  6. セッション終了

ssh コマンド

ssh コマンドの使い方については、 sshの使い方 をご参照下さい。

ssh yourhostname.local

ソフトウェア

SSH サーバー

リモート接続したいサーバーで動作させるsshdのプログラムです。

SSH クライアント

ssh 接続に使うクライアントプログラムです。

SSH サーバー プロテクター

コマンドの置き換え

コマンドの対応
非ssh系コマンド ssh系コマンド
telnet/rsh/rlogin ssh
rcp scp
ftp scp/sftp

Secure Shell

関連項目



スポンサーリンク