6

私の Java プログラムは ssh/sftp を使用してファイルを Linux マシンに転送します (明らかに...)。そうするための私のライブラリは JSch です (ただし、責任はありません)。

現在、これらの Linux マシンの一部にはシェル ログイン スタートアップ スクリプトが含まれており、悲劇的に ssh/sftp 接続が失敗し、次のメッセージが表示されます

受信メッセージが長すぎます 1349281116

それについて簡単に読んだ後、それは明らかに既知の ssh 設計上の問題です (バグではありません -ここを参照してください)。また、推奨される解決策はすべて ssh-server 側にあります (つまり、シェル ログイン中にメッセージを出力するスクリプトを無効にします)。

私の質問 - クライアント側でこの問題を回避するオプションはありますか?

4

5 に答える 5

-2

これは簡単な解決策ですが、バイナリファイルでも機能するようです。すべてのクレジットはuvgroovyにあります。

ファイル「some-file.txt」が与えられた場合、次のようにします。

cat some-file.txt | ssh root:1.1.1.1 /bin/bash -c "cat > /root/some-new-file.txt"

それでも、クライアント側で sftp/scp 組み込みの方法を知っている人がいれば、それは素晴らしいことです。

于 2015-02-02T05:53:43.657 に答える