ここで奇妙な問題。
ssh スローで rsync を呼び出すスクリプトを実行する
「許可が拒否されました (公開鍵)。rsync: 接続が予期せず閉じられました (これまでに受信したバイト数は 0 です) [受信者]」
奇妙なことに:
- ssh user@host が機能するため、ssh キーはすべて正しく設定されています
- スクリプトによって生成されたコマンドをログに記録してターミナルに貼り付ける
- スクリプトから whoami を実行すると正しいユーザーが表示され、環境は process.env を介して spawn インスタンスに渡されます
- スクリプトから ssh user@host を実行してもエラーがスローされず、バッファが返されるため、機能しているようです
スクリプトを実行すると (テスト済みのコマンドを実行するだけです)、上記のエラーがスローされます
var spawn = require('child_process').spawn; spawn('rsync', [ '-avc', '--delete', '"'+src+'"' , '--link-dest="'+path.join(dest, folder_name)+'"', '"'+path.join(dest, 'latest/')+'"' ],{ cwd: process.cwd(), env: process.env });