「ssh」の版間の差分

提供: セキュリティ
移動: 案内検索
行31: 行31:
 
* [[sshポートフォワーディング]]
 
* [[sshポートフォワーディング]]
  
ここでは、リモートホスト名を foo と仮定します。
+
== 鍵ペア ==
  
foo で ls コマンドを実行します。
+
[[ssh]] では、[[公開鍵認証]]を利用できます。
<syntaxhighlight lang="bash">
+
% ssh foo ls
+
</syntaxhighlight>
+
 
+
foo にログインします。
+
<syntaxhighlight lang="bash">
+
% ssh foo
+
</syntaxhighlight>
+
 
+
foo にユーザ bar でログインします。
+
<syntaxhighlight lang="bash">
+
% ssh bar@foo
+
</syntaxhighlight>
+
 
+
foo にユーザ bar でログインします。
+
<syntaxhighlight lang="bash">
+
% ssh -l bar foo
+
</syntaxhighlight>
+
 
+
/path/to を foo の /home/tmp/ にコピーします。
+
<syntaxhighlight lang="bash">
+
% tar zcfp - /path/to | ssh foo tar zxfp - -C /home/tmp/
+
</syntaxhighlight>
+
 
+
== scpコマンドの使い方 ==
+
 
+
foo のホームディレクトリに、ローカルの /etc/rc.conf を転送します。
+
<syntaxhighlight lang="bash">
+
% scp /etc/rc.conf foo:
+
</syntaxhighlight>
+
 
+
/path/to を再帰的に foo にコピーします。
+
<syntaxhighlight lang="bash">
+
% scp -r /path/to foo:
+
</syntaxhighlight>
+
 
+
/path/to を再帰的に foo の /home/tmp/ にコピーします。
+
/home/tmp/に to のディレクトリが作成されます。
+
<syntaxhighlight lang="bash">
+
% scp -r /path/to foo:/home/tmp/
+
</syntaxhighlight>
+
 
+
foo の /etc/rc.conf をローカルのホームディレクトリにコピーします。
+
<syntaxhighlight lang="bash">
+
% scp foo:/etc/rc.conf ~/
+
</syntaxhighlight>
+
 
+
 
+
== ポートフォワーディング ==
+
 
+
ポートフォワーディングには、以下の種類があります。
+
* ローカル
+
* リモート
+
* ダイナミック
+
 
+
=== ローカルポートフォワーディングの例 ===
+
 
+
ローカルポートフォワーディングは、 -L オプションを利用します。
+
<syntaxhighlight lang="bash">
+
-L [bind_address:]local_port:remote_hostname:remote_port
+
</syntaxhighlight>
+
クライアントからサーバに対して、[[ssh]]トンネルを作成します。
+
 
+
localhost:8080 と foo:80 をつなぐ。
+
<syntaxhighlight lang="bash">
+
% ssh -L 8080:foo:80 foo
+
</syntaxhighlight>
+
8080には、ローカルホストからしか接続ができません。
+
ローカルホストにログインできるユーザやプロセスが8080に接続できます。
+
 
+
ローカルホストが hoge だとして hoge:8080 と foo:80 をつなぐ。
+
<syntaxhighlight lang="bash">
+
% ssh -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]] の [[鍵ペア]] の説明。
+
[[鍵ペア]] は、以下の通りです。
  
 +
* [[ssh-keygen]] で[[鍵ペア]]を作成できます。
 
* [[秘密鍵]]は、[[パスフレーズ]]で[[暗号化]] されます。
 
* [[秘密鍵]]は、[[パスフレーズ]]で[[暗号化]] されます。
 
* [[RFC4716]] (SSH2 public or private key), [[PKCS8]](PEM PKCS8 public key) , [[PEM]] (PEM public key) の3つのフォーマットがあります。
 
* [[RFC4716]] (SSH2 public or private key), [[PKCS8]](PEM PKCS8 public key) , [[PEM]] (PEM public key) の3つのフォーマットがあります。
行164: 行65:
 
* [[ssh-agent]]
 
* [[ssh-agent]]
 
* [[ssh-keygen]]
 
* [[ssh-keygen]]
 +
* [[ssh_config]]
 
* [[sshd_config]]
 
* [[sshd_config]]

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

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

読み方 えすえすえいち

概要

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

サーバの信頼性の確認

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

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

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

sshの設定

sshコマンドの使い方

鍵ペア

ssh では、公開鍵認証を利用できます。

鍵ペア は、以下の通りです。

authorized_keys

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

エージェントフォワード

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

トンネル

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

関連項目