「Secure Shell」の版間の差分

提供: セキュリティ
移動: 案内検索
(関連項目)
行1: 行1:
[[ssh]] (Secure_Shell, セキュアシェル) は、認証を含む通信を安全にするための[[プロトコル]]のこと、もしくは、[[ssh]] コマンドのことを指します。
+
[[ssh]] (Secure_Shell, セキュアシェル) は、認証を含む通信を安全にするための[[プロトコル]]のこと、もしくは、[[ssh]] コマンドのことを指します。リモートでログインをして、コマンドを実行したり、ファイルを転送するといったことが実現できます。また、[[ssh]]コマンドのポートフォワーディング機能を使うことで、「通信が暗号化されないサービス」の通信を暗号化できます。[[認証]]は、[[パスワード認証]]、[[公開鍵認証]]、[[ワンタイムパスワード]]などが利用できます。
  
 
'''読み方'''
 
'''読み方'''
;[[Secure Shell]:せきゅあしぇる
+
;[[Secure Shell]]:せきゅあしぇる
 
;[[ssh]]:えすえすえいち
 
;[[ssh]]:えすえすえいち
  
行8: 行8:
  
 
== 概要 ==
 
== 概要 ==
 
 
[[ssh]] は、 [[telnet]] や [[rsh]], [[rlogin]] といったリモートホストを操作するためのコマンド群を安全にするための代替をして考えれました。
 
[[ssh]] は、 [[telnet]] や [[rsh]], [[rlogin]] といったリモートホストを操作するためのコマンド群を安全にするための代替をして考えれました。
  
 
[[telnet]] や [[ftp]] などは、通信が平文で行われるため、ネットワークに平文で認証に用いるパスワードが流れています。
 
[[telnet]] や [[ftp]] などは、通信が平文で行われるため、ネットワークに平文で認証に用いるパスワードが流れています。
 
ネットワークを覗き見されることにより、認証情報やデータが盗聴されます。
 
ネットワークを覗き見されることにより、認証情報やデータが盗聴されます。
 +
== バージョン ==
 +
[[ssh]] には、バージョン1とバージョン2の2つのプロトコルが存在します。バージョン1は、脆弱性が発見されているため、推奨されていません。
  
[[ssh]] コマンドの使い方については、 [[ssh]] をご参照下さい。
+
== 暗号方式 ==
 +
[[ssh]] は、[[公開鍵認証]]を用いて、[[共通鍵暗号]]の[[共通鍵]]を暗号化して、[[鍵交換]]を行います。通信自体は、高速な[[共通鍵暗号]]を用います。
 +
 
 +
== 認証の方式 ==
 +
sshサーバ([[sshd]])の設定に依存しますが、以下の[[認証]]が使用できます。
 +
* [[パスワード認証]]
 +
* [[公開鍵認証]]
 +
 
 +
また、[[Pluggable Authentication Modules]](PAM)を使用することで、上記以外の認証を追加できます。たとえば、[[二要素認証]]としてよく利用される[[ワンタイムパスワード]](OTP)を追加することができます。
 +
 
 +
== 通信のフロー ==
 +
=== SSH バージョン 2 ===
 +
# プロトコルバージョンの選択
 +
# パラメータネゴシエーション
 +
# セッション鍵交換(DH鍵共有)
 +
# ホスト鍵認証
 +
# ユーザ認証
 +
# セッション確立
 +
# セッション終了
 +
=== SSH バージョン 1 ===
 +
# プロトコルバージョンの選択
 +
# セッション鍵交換(サーバ鍵を使用)
 +
# ホスト鍵認証
 +
# ユーザ認証
 +
# セッション確立
 +
# セッション終了
 +
 
 +
== ssh コマンド ==
 +
[[ssh]] コマンドの使い方については、 [[sshの使い方]] をご参照下さい。
 +
 
 +
<syntaxhighlight lang="bash">
 +
ssh yourhostname.local
 +
</syntaxhighlight>
  
 
== ソフトウェア ==
 
== ソフトウェア ==
 
 
=== SSH サーバー ===
 
=== SSH サーバー ===
 
リモート接続したいサーバーで動作させる[[sshd]]のプログラムです。
 
リモート接続したいサーバーで動作させる[[sshd]]のプログラムです。
行24: 行56:
 
=== SSH クライアント ===
 
=== SSH クライアント ===
 
[[ssh]] 接続に使うクライアントプログラムです。
 
[[ssh]] 接続に使うクライアントプログラムです。
 
+
* [[OpenSSH]] ([[ssh]]コマンド)
* [[OpenSSH]]
+
 
* [[PuTTY]]
 
* [[PuTTY]]
 
* [[Term Term]]
 
* [[Term Term]]
行33: 行64:
 
* [[SEC]]
 
* [[SEC]]
 
* [[iptables]]
 
* [[iptables]]
 
== バージョン ==
 
[[ssh]] には、バージョン1とバージョン2の2つのプロトコルが存在します。
 
バージョン1は、脆弱性が発見されているため、推奨されていません。
 
 
== 暗号 ==
 
[[ssh]] は、[[公開鍵認証]]を用いて、[[共通鍵暗号]]の[[共通鍵]]を暗号化して、[[鍵交換]]を行います。
 
通信自体は、高速な[[共通鍵暗号]]を用います。
 
 
[[認証]]は、[[パスワード認証]]、[[公開鍵認証]]、[[ワンタイムパスワード]]などが利用できます。
 
  
 
== コマンドの置き換え ==
 
== コマンドの置き換え ==
行63: 行84:
 
{{ssh}}
 
{{ssh}}
 
* [[tcpdump]]
 
* [[tcpdump]]
<!-- vim: filetype=mediawiki -->
+
<!-- vim: filetype=mediawiki
 +
-->

2014年6月7日 (土) 23:29時点における版

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

読み方

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

概要

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

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

バージョン

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

暗号方式

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

関連項目