「ssh」の版間の差分

提供: セキュリティ
移動: 案内検索
(Daemon がページ「Ssh」を「ssh」に移動しました)
行76: 行76:
 
% scp foo:/etc/rc.conf ~/
 
% scp foo:/etc/rc.conf ~/
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
== ポートフォワーディング ==
 +
 +
ポートフォワーディングには、以下の種類があります。
 +
* ローカル
 +
* リモート
 +
* ダイナミック
 +
 +
=== ローカルポートフォワーディングの例 ===
 +
 +
ローカルポートフォワーディングは、 -L オプションを利用します。
 +
<syntaxhighlight lang="bash">
 +
-L [bind_address:]local_port:remote_hostname:remote_port
 +
</syntaxhighlight>
 +
クライアントからサーバに対して、[[ssh]]トンネルを作成します。
 +
 +
localhost:8080 と foo:80 をつなぐ。
 +
<syntaxhighlight lang="bash">
 +
% scp -L 8080:foo:80 foo
 +
</syntaxhighlight>
 +
8080には、ローカルホストからしか接続ができません。
 +
ローカルホストにログインできるユーザやプロセスが8080に接続できます。
 +
 +
ローカルホストが hoge だとして hoge:8080 と foo:80 をつなぐ。
 +
<syntaxhighlight lang="bash">
 +
% scp -L hoge:8080:foo:80 foo
 +
</syntaxhighlight>
 +
hoge のアドレスにアクセスできるプロセス、ユーザからhoge:8080を利用できます。
 +
 +
=== リモートポートフォワーディング ===
 +
 +
サーバからクライアントにポートフォワーディングします。
 +
<syntaxhighlight lang="bash">
 +
-R [bind_address:]port:hostname:port
 +
</syntaxhighlight>
 +
リモートの [[syslog]] をローカルに飛ばしてくる、といったことができます。
 +
 +
=== ダイナミックアプリケーションレベルポートフォワーディング ===
 +
 +
[[ssh]] は、SOCKS4, SCOKS5 プロトコルをサポートしています。
 +
<syntaxhighlight lang="bash">
 +
-D [bind_address:]port
 +
</syntaxhighlight>
 +
 +
 +
=== ゲートウェイポート ===
 +
 +
ポートフォワーディングは、デフォルトでは、別のホストから接続できません。
 +
[[ssh]] に -g オプションをつけることで、0.0.0.0 でバインドするため、リモートからでも接続可能になります。
 +
 +
リモートポートフォワーディングは、サーバ側で許可が必要です。[[sshd_config]] で GatewayPorts yes  と設定します。
 +
 +
== 鍵ペア ==
 +
 +
[[ssh]] の [[鍵ペア]] の説明。
 +
 +
* [[秘密鍵]]は、[[パスフレーズ]]で[[暗号化]] されます。
 +
* [[RFC4716]] (SSH2 public or private key), [[PKCS8]](PEM PKCS8 public key) , [[PEM]] (PEM public key) の3つのフォーマットがあります。
 +
 +
== authorized_keys ==
 +
 +
[[authorized_keys]] に [[公開鍵]] を設定します。
 +
[[公開鍵]]ごとにアクセス元や実行できるコマンドを限定できます。
 +
 +
== エージェントフォワード ==
 +
 +
* [[ssh]] の -A オプションは、認証エージェント接続の転送を有効にします。リモートホストのファイルパーミッションのバイバスして、転送接続を通して、ローカルエージェントにアクセスできます。
 +
* パーミッションを無視できるユーザは、エージェントがもっている鍵で認証を行わせることができます。
 +
 +
== トンネル ==
 +
 +
ssh の -w で tun/tap を使ってトンネルできます。
  
 
== 関連項目 ==
 
== 関連項目 ==
行83: 行156:
 
* [[Unix]]
 
* [[Unix]]
 
* [[パスフレーズのないsshの秘密鍵の作成]]
 
* [[パスフレーズのないsshの秘密鍵の作成]]
 +
* [[authorized_keys]]
 +
* [[rdesktop]]
 +
* [[ssh-agent]]
 +
* [[ssh-keygen]]
 +
* [[sshd_config]]

2013年4月17日 (水) 00:18時点における版

このページでのssh は、sshクライアントとしての ssh コマンドのことです。

読み方 えすえすえいち

概要

プロトコルとしてのssh については、 Secure_Shell をご参照下さい。

サーバの信頼性の確認

sshは、クライアントがサーバに接続します。サーバに接続したときに、接続先のサーバの信頼性の検証をします。検証には、鍵指紋システム(key fingerprint system)を利用します。

はじめて接続したサーバでは、ユーザに接続をしてよういか、確認を求めます。一度、接続したサーバの フィンガープリント は、 ~/.ssh/known_hosts に保存されます。

known_hostsknown_hosts2 がある場合は、OpenSSH 3以上であれば、1つに統合できます。

sshの設定

sshコマンドの使い方

ここでは、リモートホスト名を foo と仮定します。

foo で ls コマンドを実行します。

% ssh foo ls

foo にログインします。

% ssh foo

foo にユーザ bar でログインします。

% ssh bar@foo

foo にユーザ bar でログインします。

% ssh -l bar foo

/path/to を foo の /home/tmp/ にコピーします。

% tar zcfp - /path/to | ssh foo tar zxfp - -C /home/tmp/

scpコマンドの使い方

foo のホームディレクトリに、ローカルの /etc/rc.conf を転送します。

% scp /etc/rc.conf foo:

/path/to を再帰的に foo にコピーします。

% scp -r /path/to foo:

/path/to を再帰的に foo の /home/tmp/ にコピーします。 /home/tmp/に to のディレクトリが作成されます。

% scp -r /path/to foo:/home/tmp/

foo の /etc/rc.conf をローカルのホームディレクトリにコピーします。

% scp foo:/etc/rc.conf ~/


ポートフォワーディング

ポートフォワーディングには、以下の種類があります。

  • ローカル
  • リモート
  • ダイナミック

ローカルポートフォワーディングの例

ローカルポートフォワーディングは、 -L オプションを利用します。

-L [bind_address:]local_port:remote_hostname:remote_port

クライアントからサーバに対して、sshトンネルを作成します。

localhost:8080 と foo:80 をつなぐ。

% scp -L 8080:foo:80 foo

8080には、ローカルホストからしか接続ができません。 ローカルホストにログインできるユーザやプロセスが8080に接続できます。

ローカルホストが hoge だとして hoge:8080 と foo:80 をつなぐ。

% scp -L hoge:8080:foo:80 foo

hoge のアドレスにアクセスできるプロセス、ユーザからhoge:8080を利用できます。

リモートポートフォワーディング

サーバからクライアントにポートフォワーディングします。

-R [bind_address:]port:hostname:port

リモートの syslog をローカルに飛ばしてくる、といったことができます。

ダイナミックアプリケーションレベルポートフォワーディング

ssh は、SOCKS4, SCOKS5 プロトコルをサポートしています。

-D [bind_address:]port


ゲートウェイポート

ポートフォワーディングは、デフォルトでは、別のホストから接続できません。 ssh に -g オプションをつけることで、0.0.0.0 でバインドするため、リモートからでも接続可能になります。

リモートポートフォワーディングは、サーバ側で許可が必要です。sshd_config で GatewayPorts yes と設定します。

鍵ペア

ssh鍵ペア の説明。

authorized_keys

authorized_keys公開鍵 を設定します。 公開鍵ごとにアクセス元や実行できるコマンドを限定できます。

エージェントフォワード

  • ssh の -A オプションは、認証エージェント接続の転送を有効にします。リモートホストのファイルパーミッションのバイバスして、転送接続を通して、ローカルエージェントにアクセスできます。
  • パーミッションを無視できるユーザは、エージェントがもっている鍵で認証を行わせることができます。

トンネル

ssh の -w で tun/tap を使ってトンネルできます。

関連項目