sshの使い方

提供: セキュリティ
2014年3月1日 (土) 11:55時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

概要

ssh コマンドでのログイン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/

sudoを組み合わせる方法は、「sshとtarとsudoを組み合わせてバックアップする方法」をご参照ください。

netcat モード

ssh -o ProxyCommand='ssh user@destination_host -W %h:%p' gateway_host

ControlMaster

ControlMaster は、ssh のセッションが存在するときに、そのセッションを再利用する仕組みです。セッションを再利用するため、普通に接続するよりも接続に必要な時間が短くなります。ssh で接続するたびにsshdが起動されますが、ControlMaster を使用すると sshd を使いまわされます。

事前準備として、ディレクトリを作成します。

mkdir ~/.ssh/cm_socket

ControlMaster を使用する場合は、ssh_config に設定します。

Host *
        ControlMaster auto
        ControlPath ~/.ssh/cm_socket/%r@%h:%p

iptablesなどのファイアーウォールなどで、ssh の接続数が制限されている場合に有効でしょう。

ControlMaster を使用しない場合は、リモートサーバーでは sshd が下記のように生成されます。

sshd -+- sshd - sshd - shell
      |
      +- sshd - sshd - shell

ControlMaster を使用する場合は、リモートサーバーでは sshd が下記のように生成されます。

sshd -+- sshd - sshd -+- shell
                      |
                      +- shell

ControlPersist

ControlPersist は、OpenSSH 5.6 で追加されました。 ControlMaster は、ssh のセッションが存在するときに、そのセッションを再利用する仕組みです。 ControlPersist を使用する場合は、ssh_config に設定します。 ControlMaster をバックグランドにまわしてくれる機能です。

Host foo
	ControlPersist no
Host *.bar.com
        ControlMaster auto
        ControlPath ~/.ssh/cm_socket/%r@%h:%p
	ControlPersist 10

関連項目




スポンサーリンク