私はさまざまな方法を試し、次のようないくつかの解決策を読みました。
rootとしてsshできないのはなぜですか?
Winscpで編集
そしてUbuntuのフォーラムからの記事
PuTTY経由でubuntu
に接続すると、root権限を取得してファイルを変更できる理由がわかりません。ただし、WinSCPを介してubuntu
に接続すると、私は別のユーザーになり(両方の接続ソフトウェアで同じユーザー名と同じ秘密鍵(pem)を使用しました)、ファイルを変更できません。
それから私は上記のリンクからいくつかの可能な解決策を見つけました。 root
パスワードとpermitRootLogin
を設定しようとしました。しかし、root
ユーザー名でログインすると、次のように表示されます。
受信したSFTPパケットが大きすぎます(1349281121B)。サポートされる最大パケットサイズは1024000Bです。エラーは通常、起動スクリプト(.profileなど)から出力されたメッセージが原因で発生します。メッセージは「Plea」で始まる場合があります。
SFTPプロトコルを初期化できません。ホストはSFTPサーバーを実行していますか?
一方、ユーザー名をubuntu
に戻すと、機能します(ただし、root
ユーザーでない場合はファイルを変更できません)。
大変混乱しておりますので、ご指摘いただければ幸いです。
あなたが受け取っているエラーメッセージがそれを説明していると思います。
サーバーの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" 。