12

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?

Martin Prikryl
  • 147,050
  • 42
  • 335
  • 704
Eric
  • 149
  • 1
  • 1
  • 6
  • 1
    Got the error when trying to log on to a newly created AWS EC2 instance. The solution was to use the `admin` username instead of `root`. The *Plea* thing turned out to be a message asking `Please login as the user "admin" rather than the user "root"`. – aexl Sep 08 '16 at 22:23

6 Answers6

14

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.

enter image description here

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.

ThatOneCoder
  • 699
  • 1
  • 6
  • 18
  • You're right; note that any 'echo' command in your profile may cause the problem. To resolve this, comment any kind of 'echo' in your .bashrc file and reconnect the session. – Naor Bar Jul 17 '17 at 07:36
  • i fall back to SCP, why shouldn't WinSCP just ignore that printing, hard to dig it out from .bashrc /etc/bashrc /etc/profile, etc. many of them – datdinhquoc May 06 '20 at 03:57
7

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.

Luke Rixson
  • 525
  • 3
  • 17
  • tks, using SCP works, but im still receiving the error and my .bashrc /etc/bashrc... are not printing out anything – datdinhquoc May 06 '20 at 03:56
4

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!

Amit Contractor
  • 149
  • 1
  • 3
  • Same problem when switching from CentOS 6 to 7, it used to work with root, but not anymore. SSH attempt with root responsed with `Please login as the user "centos" rather than the user "root".` Changing user in WinSCP solved it. – Dan Dar3 Aug 22 '17 at 08:31
2

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: https://winscp.net/eng/docs/faq_su

Eric
  • 149
  • 1
  • 1
  • 6
0

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).

Martin Prikryl
  • 147,050
  • 42
  • 335
  • 704
  • I didn't try this as adding "sudo /usr/lib/openssh/sftp-servers" in WinSCP advanced setting worked. Thanks. – Eric Nov 01 '15 at 04:32
-2

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.

Mayank
  • 1
  • 2