Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

rsync -e "ssh -i ..."

  • rsync の -e に続くコマンドに、ホームディレクトリを示す "~" は使えない。

例えば、鍵ファイルとして "~/.ssh/test" を指定すると、次のように失敗する。

[nuts@hoge nuts]$ rsync -auz -vv -e "ssh -i ~/.ssh/test" ~/foo.txt nuts@piyo.tut.ac.jp:~/tmp
Warning: Identity file ~/.ssh/test does not exist.
Password: ^C
[nuts@hoge nuts]$

この場合、"~/.ssh/test" でなくて "/home/nuts/.ssh/test" と指定すること。

[nuts@hoge nuts]$ rsync -auz -e "ssh -i /home/nuts/.ssh/test" ~/foo.txt nuts@piyo.tut.ac.jp:~/tmp
[nuts@hoge nuts]$