ここで私はトリッキーな状況に直面しています。 Javaベースのアプリケーションが特定のファイルをコピーするためにリモートマシンをscpしようとします。これらのタスクの実行中に、アプリケーション側から以下のエラーメッセージが見つかりました。
scp protocol error mtime.sec not present
しかし、サーバーからエンドポイントマシンに手動でscpしようとすると、問題なく実行できます。
手動テストに使用しているコマンドはscp localfile user@hostname:/tmp/
エラーメッセージmtime.sec is not present
。誰かがここにいくつかのライトを投げることができますか?私はウェブから有用な情報を見つけることができませんでした、専門家の考えは大いに役立ちます。
SCPは手動プロセスを使用して正常に動作しているため、SCPに問題があるかどうかはわかりません。
同じ問題があります。私がubuntu 12.04にscpするとうまくいきました。私がubuntu 14.04にそれをしたとき、それは同じメッセージで失敗しました。
この例に基づいてscpコードを記述しました http://www.jcraft.com/jsch/examples/ScpTo.Java.html 。私もそうです。
次の行の "T"の後の空白を削除すると機能します。変化する:
command="T "+(_lfile...
に
command="T"+(_lfile...
それを行うか、ptimestamp = falseを設定します
上記のZZapperのように書き込みます。
上記と同じ問題に遭遇し、scpを使用してリモートサイトに接続しようとすると、「プロトコルエラー:mtime.secが区切られていません」と表示されました
ランニング scp with -vvvv
「サーバー側」で判明し、scpの使用を許可せず、代わりにsftpを使用するように指示されました。
私の問題は、私たちのstftpサーバーがsftp接続のみを許可しているという事実から派生したことを知りました。 scpは許可されていません。
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
Sink: This service allows sftp connections only.
protocol error: mtime.sec not present
protocol error: mtime.sec not delimited
私はこれをグーグル検索し、これが複雑なエラーメッセージであることを知りました。最近、rootログインを「nologin」にして無効にしました。 rootとしてログインしようとしていたscpスクリプトを更新するのを忘れました。私がそれを更新したとき、新しいログインを使用してすべてが大丈夫でした。 (申し訳ありませんが、Javaとは関係ありません)