問題発生
Vagrantで以下のbox使ってCentOS7.2の環境を作成
CentOS 7.2 x64 (Minimal, Puppet 4.2.3, Guest Additions 4.3.30) (http://www.vagrantbox.es/ )
Cygwinからsshできるように手元のid_rsa.pubをauthorized_keysに入れようとしてみた。
$ rsync /home/myname/.ssh/id_rsa.pub root@192.168.66.133:~/.ssh/authorized_keys
root@192.168.66.133's password:
するとこんなエラー。
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2]
なぜだろう。
解決編
答えはrsyn: command not found
と書いてあるように、CentOSの仮想環境にrsyncが入ってないから。だから初期化処理で以下のスクリプトを実行するようにした。
Vagrantfile
centos_72.vm.provision "shell", path: "provision/install_packages.sh"
provision/install_packages.sh
#!/usr/bin/env bash
yum -y update
yum -y install rsync
これで無事rsyncができるようになりました。
$ rsync /home/myname/.ssh/id_rsa.pub docker_test:~/.ssh/authorized_keys
root@192.168.66.133's password:
myname@myhost : 2016/12/01 13:39:25
$