ssh

提供: セキュリティ
2013年4月17日 (水) 00:18時点におけるDaemon (トーク | 投稿記録)による版

移動: 案内検索
スポンサーリンク

このページでの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 を使ってトンネルできます。

関連項目




スポンサーリンク