Getting "Received Too Large Sftp Packet" When Logging in with Root Using Winscp to Google Compute Engine Virtual Machine Instance

Hi I can login to the GCE VM with WinSCP using my own username, cannot login as root...this is by default according to Google, and can be changed.

Changed like this:

Step 1: Login SSH and Su Root

# sudo su root

Step 2: Change password Root

#passwd root

Step 3: Config SSHD allow Root login

#nano /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes

#service sshd restart (I used ssh as I'm using ubuntu and sshd wouldn't work)

Tried to login as root via WinSCP but I get

"Received too large (1349281121 B) SFTP packet. Max supported packet size is 1024000 B. The error is typically caused by message printed from startup script (like .profile). The message may start with 'Plea'." Cannot initialize SFTP protocol. Is the host running a SFTP server?"

Any ideas?

1

10 Answers

Received too large SFTP packet. Max supported packet size is 102400 B

Cause: This problem can arise when your .bashrc file is printing data to the screen (e.g.archey, screenfetch). The .bashrc file runs every time any console shell is initialized.

Solution: Simply move any scripts that generate output from your .bashrc file to your .bash_profile. The .bash_profile only runs when you create a physical shell session.

3

NOTE: Just for anyone who comes across this and simply wants to copy files and doesn't matter what file protocol they use. You can just switch file protocol from SFTP to SCP to avoid this issue. Thought it might be worth a mention.

1

If you used Ubuntu linux and try to connect the server then "Please login as the Ubuntu user" you should sftp as the ubuntu user, not as root.

Try that, hope it will work for you!

Thanks!

1

Hmmm, I added this in WinSCP in advanced settings under "protocol options": sudo /usr/lib/openssh/sftp-servers

I can login with my own username and move files now. Although not exactly sure how this works, I think it somehow changes you to root user at login?

More info:

1

Disbale Ubuntu Welcome message for any user logged via SSH:

sudo chmod -x /etc/update-motd.d/*

Secondly, you'll be facing Error Code 1 that is to be solved by creating somefile (without ~ and . in its name) in dir /etc/sudoers.d/ with a line:

user1 ALL=NOPASSWD: /usr/bin/su -c /usr/lib/openssh/sftp-server

Granting user1 a permission to connect to server via SFTP as SuperUser without promting for sudo password. Of course, don't forget to run sudo systemctl restart sshd afterwards.

After that in advanced connection settings of WinSCP you can specify in SFTP tab:

sudo su -c /usr/lib/openssh/sftp-server

So you'll be able to write to protected files/folders.

See WinSCP article on Received too large (... B) SFTP packet. Max supported packet size is 102400 B

If … (from the subject [error message]) is a very large number then the problem is typically caused by a message printed from some profile/logon script. It violates an SFTP protocol. Some of these scripts are executed even for non-interactive (no TTY) sessions, so they cannot print anything (nor ask user to type something).

1

To add to @ThatOneCoder's answer on the cause being too much output from .bashrc: in e.g. Ubuntu, there is also the system wide /etc/bash.bashrc that might be "too wordy" and cause the Received too large SFTP packet error.

It's a "system wide .bashrc", and if you want to execute code for all logging in, that's one location to place it. If you nixed ~/.bashrc and still get the error, check the contents of /etc/bash.bashrc.

Ensure you can login with the user ie to check this run

cat /ect/passwd

the user should not have :/sbin/nologin

It is happening because you haven't given shell access permission to the user.

1

I faced the same issue trying to login on my ubuntu 16.04 EC2 server as "root" via WinSCP. I spent a lot of time trying to fix it but in the end a simple workaround worked for me.

I ssh into the instance using PuTTY with the username "ubuntu". After this I typed

sudo -i

and with this the user was changed to root.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article
Twitter Facebook Pinterest