「ssh scp」の編集履歴(バックアップ)一覧はこちら
ssh scp - (2007/07/19 (木) 00:29:52) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
**準備
/etc/rc.confに以下の行を追加する。
>sshd_enable="YES"
更にsshdを起動して鍵ペアを作成する。(鍵ペアはsshd初回起動時に作成される)
鍵ペアは以下のコマンドで強制的にsshdを起動すると作成される。
># /etc/rc.d/sshd forcestart
>Generating public/private rsa1 key pair.
>Your identification has been saved in /etc/ssh/ssh_host_key.
>Your public key has been saved in /etc/ssh/ssh_host_key.pub.
>The key fingerprint is:
>8c:cf:15:df:14:f0:3b:7d:65:4a:d1:37:8e:11:71:24 root@sima.h2-factory.com
>Generating public/private dsa key pair.
>Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
>Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
>The key fingerprint is:
>b8:81:a6:97:4e:2f:66:b3:ff:23:2a:2e:e9:70:20:2e root@sima.h2-factory.com
>Generating public/private rsa key pair.
>Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
>Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
>The key fingerprint is:
>78:94:a7:63:7f:6a:b1:b3:ff:73:70:eb:cf:01:d4:e1 root@sima.h2-factory.com
>Starting sshd.
これで鍵ペアが作成された。/etc/sshd配下を確認してみると、
-ssh_host_dsa_key
-ssh_host_dsa_key.pub
-ssh_host_key
-ssh_host_key.put
-ssh_host_rsa_key
-ssh_host_rsa_key.put
の6つのファイルが作成されているのが分かる。
再起動してsshdが起動するか確認する。
**遠隔ログイン
以下のコマンドで遠隔ログインが出来る。
>$ ssh user@host
初回ログイン時には以下のメッセージが表示される。
>The authenticity of host '192.168.11.5 (192.168.11.5)' can't be established.
>DSA key fingerprint is b8:81:a6:97:4e:2f:66:b3:ff:23:2a:2e:e9:70:20:2e.
>Are you sure you want to continue connecting (yes/no)?
ここで"yes"とタイプするとログイン処理が進みパスワードを聞かれる。パスワードを入力するとログインすることが出来る。2回目以降は上記のメッセージは表示されないので、そのままパスワードを入力すれたログインすることが出来る。
1回目の接続で必要な情報を保存することが出来たので2回目以降は"yes","no"を聞かれないらしい。試しにログインクライアント側(Mac OS X)の~/.sshを見てみるとknown_hostsが作成されている。
SSHプロトコルバージョン1の場合はknown_hostsで、バージョン2の場合はknown_hosts2と言うファイル名らしいので、今回はどうやらプロトコルバージョン1で接続された模様。クライアント側にssh2を使うように設定して再度試してみる。設定は~/.ssh/configファイルを作成して以下を記述する。
>Host host1.example.co.jp
>[tab]Protocol 1
ファイル作成後パーミッションを0600にする。
>$ chmod 0600 ~/.ssh/config
これで再度接続してみる。
んっ?やっぱりファイル名はknown_hostsのようだ。
----
todo
この件についてはそのうち調べてみることにして、とりあえず先に進む。
----
ともあれ無事に繋がった。
**ファイル・ディレクトリのコピー
***ファイルのコピー
ファイルのコピーはscpコマンドで出来る。クライアントからサーバへコピーする場合は
># scp file user@host:/path/to
>password:
>hoge 100% 0 0.0KB/s 00:00
と言う感じでコピー出来る。
ホストからクライアント側にコピーする場合は
># scp usr@host:/path/to/file file
>password:
>hoge 100% 0 0.0KB/s 00:00
と言う感じでコピー出来る。
ファイル名にはワイルドカードも使える。-pを付ければパーミッション、アクセス日付を保持したままコピーすることが出来る。
***ディレクトリのコピー
ディレクトリごとコピーする場合は-rオプションを付ける。
># scp -r dir user@host:/path/to
>password:
>hoge 100% 0 0.0KB/s 00:00
>以下ファイルリスト続く
のような感じでコピー出来る。
ホストからクライアントにディレクトリをコピーする場合はファイル同様
># scp -r user@host:/path/to/dir dir
でコピー出来る。
尚、ディレクトリごとコピーする場合は、シンボリックリンクはその実態のファイルに置き換えられてコピーされることに注意。