日々精進

新しく学んだことを書き留めていきます

sshで秘密鍵を使ってサーバにログインし、rsyncでローカルとサーバのファイルを同期する

rsyncのコマンドを以下のようにするとできた。 ポイントはサーバにログインするsshのコマンドを-e "ssh -p 10022"のように書くのでは無く.ssh/configにHOST dev_serverの設定を書くこと。 -eを使ってsshコマンドを書いた場合、-iオプションを使っても秘密鍵を使うことができなかった。書き方が悪かったのかも知れないが。。

  rsync -avz --exclude '.git' --exclude '.idea' /mnt/c/workspace/repo dev_server:/home/ec2-user/workspace > /dev/null

因みに、sshでうまくログインできていない場合、以下のメッセージが出た。

rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.3]