web-dev-qa-db-ja.com

WinSCPを介してrootアカウントでサーバーに接続すると、「Received too largeSFTPpacket」エラーが発生する

私はさまざまな方法を試し、次のようないくつかの解決策を読みました。
rootとしてsshできないのはなぜですか?
Winscpで編集
そしてUbuntuのフォーラムからの記事

  1. PuTTY経由でubuntuに接続すると、root権限を取得してファイルを変更できる理由がわかりません。ただし、WinSCPを介してubuntuに接続すると、私は別のユーザーになり(両方の接続ソフトウェアで同じユーザー名と同じ秘密鍵(pem)を使用しました)、ファイルを変更できません。

  2. それから私は上記のリンクからいくつかの可能な解決策を見つけました。 rootパスワードとpermitRootLoginを設定しようとしました。しかし、rootユーザー名でログインすると、次のように表示されます。

    受信したSFTPパケットが大きすぎます(1349281121B)。サポートされる最大パケットサイズは1024000Bです。エラーは通常、起動スクリプト(.profileなど)から出力されたメッセージが原因で発生します。メッセージは「Plea」で始まる場合があります。

    SFTPプロトコルを初期化できません。ホストはSFTPサーバーを実行していますか?

    一方、ユーザー名をubuntuに戻すと、機能します(ただし、rootユーザーでない場合はファイルを変更できません)。

大変混乱しておりますので、ご指摘いただければ幸いです。

3
Guanjun Chen

あなたが受け取っているエラーメッセージがそれを説明していると思います。

サーバーのrootアカウントにプロファイルスクリプトが正しく設定されていません。それらのいくつかは、SFTPプロトコルに違反するメッセージを出力します。ターミナルセッションと非ターミナルセッション(TTYが割り当てられているセッションと割り当てられていないセッション)には、異なるプロファイルスクリプトがあります。メッセージは、ターミナルセッションで使用されるスクリプトからのみ印刷できます。非終端記号セッションに使用されるプロファイルスクリプトからメッセージを出力すると、厳密なプロトコル(SFTPやSCPなど)を使用してクライアントが破損します。

エラーが示すように、メッセージは「Plea」で始まります。それは簡単に同じくらい些細なことになる可能性があります

echo "Please be careful when using root account!"

SSHターミナル(PuTTYなど)を使用してログインすると、完全なメッセージが表示されます。

通常、メッセージを出力するコマンドを.bashrcスクリプトから.bash_profileに移動する必要があります。

プロファイルスクリプトはエラーメッセージを出力しないため、ubuntuアカウントで機能します。

エラーメッセージについては、WinSCPのドキュメントも参照してください "Received too large(.。b)SFTPpacket。最大サポートパケットサイズは102400B"

4
Martin Prikryl