ssh
このページでのssh は、sshクライアントとしての ssh コマンドのことです。
読み方 えすえすえいち
目次
概要
プロトコルとしてのssh については、 Secure_Shell をご参照下さい。
サーバの信頼性の確認
sshは、クライアントがサーバに接続します。サーバに接続したときに、接続先のサーバの信頼性の検証をします。検証には、鍵指紋システム(key fingerprint system)を利用します。
はじめて接続したサーバでは、ユーザに接続をしてよういか、確認を求めます。一度、接続したサーバの フィンガープリント は、 ~/.ssh/known_hosts に保存されます。
known_hosts と known_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 をつなぐ。
% ssh -L 8080:foo:80 foo
8080には、ローカルホストからしか接続ができません。 ローカルホストにログインできるユーザやプロセスが8080に接続できます。
ローカルホストが hoge だとして hoge:8080 と foo:80 をつなぐ。
% ssh -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 の 鍵ペア の説明。
- 秘密鍵は、パスフレーズで暗号化 されます。
- 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 を使ってトンネルできます。
関連項目
- Secure_Shell
- FreeBSD
- Unix
- パスフレーズのないsshの秘密鍵の作成
- authorized_keys
- rdesktop
- ssh-agent
- ssh-keygen
- sshd_config
ツイート