sshの使い方
概要
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
関連項目
- Secure Shell(セキュアシェル)
- OpenSSHのコマンド
- sshのプライベート鍵
- ssh関連
- sshの使い方
- sshとtarとsudoを組み合わせてバックアップする方法
ツイート