「Secure Shell」の版間の差分
行81: | 行81: | ||
|} | |} | ||
− | == | + | == Secure Shell == |
{{ssh}} | {{ssh}} | ||
+ | == 関連項目 == | ||
+ | * 関連コマンド | ||
+ | ** [[rsh]] | ||
+ | ** [[rsync]] | ||
+ | ** [[telnet]] | ||
+ | ** [[ftp]] | ||
+ | * [[公開鍵認証]] | ||
+ | ** [[公開鍵]] | ||
+ | ** [[秘密鍵]] | ||
+ | * [[パスワード]] | ||
+ | * [[パスフレーズ]] | ||
+ | * [[パスワードクラック]] | ||
+ | * [[セキュリティ診断ツール]] | ||
+ | * [[Secure Shell]]クライアント | ||
+ | ** [[OpenSSH]] | ||
+ | ** [[PuTTY]] | ||
+ | * [[ファイアーウォール]] | ||
+ | ** [[iptables]] | ||
+ | ** [[ipfw]] | ||
+ | * テクニック | ||
+ | ** [[トンネリング]] | ||
+ | * [[SSL-VPN]] | ||
+ | * [[Transport Layer Security]] ([[Transport Layer Security|SSL]]/[[Transport Layer Security|TLS]]) | ||
* [[tcpdump]] | * [[tcpdump]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2014年8月12日 (火) 22:37時点における版
ssh (Secure_Shell, セキュアシェル) は、認証を含む通信を安全にするためのプロトコルのこと、もしくは、ssh コマンドのことを指します。リモートでログインをして、コマンドを実行したり、ファイルを転送するといったことが実現できます。また、sshコマンドのポートフォワーディング機能を使うことで、「通信が暗号化されないサービス」の通信を暗号化できます。認証は、パスワード認証、公開鍵認証、ワンタイムパスワードなどが利用できます。
読み方
- Secure Shell
- せきゅあしぇる
- ssh
- えすえすえいち
目次
概要
ssh は、 telnet や rsh, rlogin といったリモートホストを操作するためのコマンド群を安全にするための代替をして考えれました。
telnet や ftp などは、通信が平文で行われるため、ネットワークに平文で認証に用いるパスワードが流れています。 ネットワークを覗き見されることにより、認証情報やデータが盗聴されます。
バージョン
ssh には、バージョン1とバージョン2の2つのプロトコルが存在します。バージョン1は、脆弱性が発見されているため、推奨されていません。
暗号方式
ssh は、公開鍵認証を用いて、共通鍵暗号の共通鍵を暗号化して、鍵交換を行います。通信自体は、高速な共通鍵暗号を用います。
認証の方式
sshサーバ(sshd)の設定に依存しますが、以下の認証が使用できます。
また、Pluggable Authentication Modules(PAM)を使用することで、上記以外の認証を追加できます。たとえば、二要素認証としてよく利用されるワンタイムパスワード(OTP)を追加することができます。
通信のフロー
SSH バージョン 2
- プロトコルバージョンの選択
- パラメータネゴシエーション
- セッション鍵交換(DH鍵共有)
- ホスト鍵認証
- ユーザ認証
- セッション確立
- セッション終了
SSH バージョン 1
- プロトコルバージョンの選択
- セッション鍵交換(サーバ鍵を使用)
- ホスト鍵認証
- ユーザ認証
- セッション確立
- セッション終了
ssh コマンド
ssh コマンドの使い方については、 sshの使い方 をご参照下さい。
ssh yourhostname.local
ソフトウェア
SSH サーバー
リモート接続したいサーバーで動作させるsshdのプログラムです。
SSH クライアント
ssh 接続に使うクライアントプログラムです。
SSH サーバー プロテクター
コマンドの置き換え
非ssh系コマンド | ssh系コマンド |
---|---|
telnet/rsh/rlogin | ssh |
rcp | scp |
ftp | scp/sftp |