arinux

Linux サーバー設定備忘録
<< scp 自動応答(ssh 鍵交換方式) | main | phpLdapPasswd (1) - インストールと設定 >>
rsync (ssh 鍵交換方式)


前回の scp と同様に、鍵交換方式による ssh 認証を使用して rsync 実行する方法を説明します。ssh サーバー側では、rsync デーモンは起動していなくても OK です。


メモ RSA鍵の生成


  1. クライアント側でパスワードなしの RSA鍵を生成します。
    ●クライアント側
    [gamba]$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/gamba/.ssh/id_rsa): <Enter>
    Enter passphrase (empty for no passphrase): <Enter>
    Enter same passphrase again: <Enter>
    Your identification has been saved in /home/gamba/.ssh/id_rsa.
    Your public key has been saved in /home/gamba/.ssh/id_rsa.pub.
    The key fingerprint is:
    e5:f6:f1:da:56:31:c8:2d:4a:28:f2:7f:f4:91:29:85 gamba@test15.examples.net
    
    虫眼鏡 root で gamab ユーザーの RSA鍵を生成する場合は、以下のようにします。
    [root]# ssh-keygen -t rsa -C gamba@10.1.1.15
    (省略)
    [root]# chown gamba:gyomu /homee/gamba/.ssh/id_rsa
    [root]# chown gamba:gyomu /homee/gamba/.ssh/id_rsa.pub
    


  2. 公開鍵を sshサーバー側へコピーします。
    ●クライアント側
    [gamba]$ scp ./id_rsa.pub gamba@test16,examples.net:/home/gamba/.ssh/authorized_keys
    gamba@test16,examples.net's password: <gambaパスワード入力>
    id_rsa.pub                                    100%  237     0.2KB/s   00:00
    



メモ ssh サーバーの設定


  1. ssh サーバーの設定を変更します。
    ●サーバー側
    [gamba]$ sudo su -
    Enter [gamba]'s Password: <gambaパスワード入力>
    [root]# cd /etc/ssh
    [root]# vi sshd_config
    #以下の行のコメントアウトを外す
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
    
    ※ssh1 の場合は 「RSAAuthentication yes」 のコメントを外す。
    ※ssh2 の場合は 「PubkeyAuthentication yes」 のコメントを外す。
    


  2. sshd を再起動します。
    ●サーバー側
    [root]# service sshd restart
    sshd を停止中:                                             [  OK  ]
    sshd を起動中:                                             [  OK  ]
    



旗 【クライアント:gamba】 → 【リモート:gamba】の rsync


  1. rsync 実行例
    ●クライアント側
    [gamba]$ rsync -avz -e ssh /home/gamba/save/ 10.1.1.16:/home/gamba/public_html/data/
    



旗 【クライアント:gamba】 → 【リモート:sanga】の rsync


  1. 公開鍵をサーバー側の sanga/.ssh へコピーします。
    ●クライアント側
    [gamba]$ scp ~/.ssh/id_rsa.pub sanga@10.1.1.16:/home/sanga/.ssh/authorized_keys
    sanga@10.1.1.16's password: <sangaパスワード入力>
    id_rsa.pub                                   100%  237     0.2KB/s   00:00
    


  2. rsync 実行例
    ●クライアント側
    [gamba]$ rsync -avz -e ssh /home/gamba/save/ sanga@10.1.1.16:/home/sanga/public_html/data/
    



旗 【クライアント:root】 → 【リモート:gamba】の rsync


  1. RSAキーを指定して rsync を実行
    ●クライアント側
    [root]# rsync -avz -e "ssh -i /home/gamba/.ssh/id_rsa" /home/gamba/save/ ¥
    gamba@10.1.1.16:/home/gamba/public_html/data/
    


  2. 以下でも結果は同じ
    ●クライアント側
    [root]# rsync -avz -e "ssh -l gamba -i /home/gamba/.ssh/id_rsa" /home/gamba/save/ ¥
    10.1.1.16:/home/gamba/public_html/data/
    



メモ cron とスクリプトによる rsync


  1. rsync のスクリプトの例です。
    ●クライアント側
    [gamba]$ vi /home/gamba/bin/rsync_test.sh
    #!/bin/sh
    
    logdir="`date +%Y_%m%d`"
    
        if [ ! -d /home/gamba/save/$logdir ]; then
          /bin/mkdir /home/gamba/save/$logdir
        fi
    
    /usr/bin/rsync -avz -e "ssh -i /home/gamba/.ssh/id_rsa" --exclude 'tmp*' ¥
    /home/gamba/public_html/images/ sanga@10.1.1.16:/home/sanga/www/htdocs/images/ ¥
    >& /home/gamba/save/$logdir/log_images.`date +%Y_%m%d_%H%M`
    
    exit 0
    
    • 「--exclude 'tmp*'」 は、先頭に tmp の付くファイル、ディレクトリを除外する、という意味です。
    • 「>&」 は、標準出力と標準エラー出力の両方をリダイレクトします。


  2. cron の例です。
    ●クライアント側
    [gamba]$ crontab -e
    */10 * * * * /home/gamba/bin/rsync_test.sh >> /home/gamba/save/log_script 2>&1
    
    • 上記の例では、10分おきに実行します。
    • 「2>&1」は、標準出力と標準エラー出力の両方をリダイレクトします。


ここまで

| arinux | Tips | 10:26 | comments(1) | trackbacks(0) | pookmark |
管理者の承認待ちコメントです。
| - | 2018/05/14 1:54 AM |









http://arinux.net/trackback/59
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< September 2018 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE