rsync -e 'ssh -p 19' -vvv /path/to/file [email protected]:
を使用した単純なファイルの転送が失敗する理由は考えられません。
opening connection using: ssh -p 19 -l root 192.168.179.3 rsync --server -vvve.Lsfx . . (11 args)
Permission denied, please try again.
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.1]
[sender] _exit_cleanup(code=12, file=io.c, line=226): about to call exit(12)
ssh
login ssh -p 19 [email protected]
が正常に機能する場合。成功したローカルファイルのcat [/path/to/file]
と権限は664
であり、所有者はrsync
を呼び出すユーザーです。ファイルは/tmp/
にあります。
-e
引数に絶対パスを指定すること、つまりrsync -e '/usr/bin/ssh -p 19' -vvv /path/to/file [email protected]:
は役に立ちません。
Ubuntu15.10でrsync
3.1.1を使用しています。
ssh
またはrsync
の別の可能な解釈はPermission denied, please try again.
を与えます。その理由は、リモートrsync
が通常とは異なる場所にあり、送信側で--rsync-path
を指定する必要があるためです( https://stackoverflow.com/questions/7261029/を参照)。 how-to-solve-rsync-error-error-in-rsync-protocol-data-stream-code-12-at-io-c#comment22193023_12286054 )。
親愛なるssh
開発者、このナンセンスを止めてください! Permission denied, please try again.
をトリガーするエラー原因の数は増加し、増加しています。ユーザーにany使用可能なフィードバックを提供するためにそれを見つけてください-あなたはそうしませんでしたssh
を何年も使用し、Permission denied, please try again.
で終わる失敗の非常に明確で説明可能な理由に遭遇した後、私が言っているこの方向には何も実装しません。誰もそれを理解できません!
OSがこのメッセージを生成し、変更できないという事実は何の意味もありません。 あなたは、ソフトウェアがユーザーに提供するフィードバックと、上記の失敗の理由を非常に簡単に伝えるためにPermission denied, please try again.
が提供されているかどうかを担当します何かが非常に間違っています-代わりにremote binary not found, please use --rsync-path on the sender side
を出力してください!ほら、それほど難しくなかった。
エラーメッセージには、ファイルのアクセス許可については何も書かれていません。むしろ、それは標準のsshエラーメッセージであり、login自体は許可されませんでした–パスワードが間違っているか、サーバー構成がrootによるログインを許可していないためです。
「テスト」とrsyncコマンドの間にはいくつかの違いがあることに注意してください。
[email protected]
に接続している間に、sshを[email protected]
に接続します。他の人に役立つ場合に備えて、ここに私のソリューションを配置します。
Rsyncを使用してファイルをEC2インスタンスにコピーしようとしていました。同じコマンドがしばらくの間正常に機能していましたが、その後機能しなくなりました。私がオンラインで見つけた解決策はどれも本当に役に立ちませんでした。
リモートサーバーにSSH接続し、コピー先の場所でls -l
を実行すると、build
フォルダーはrootによって作成され、他のすべてのフォルダーはubuntuによって作成されていることがわかりました。アクセス許可の問題は、ローカルビルドフォルダーをリモートにコピーしようとしたことが原因で発生したため、ローカルビルドフォルダー(とにかくコピーされるべきではなかった)を削除すると、問題が解決しました。