I need to copy files via ssh but I am getting permission denied.

How can I log as a root by windows clients such us FileZilla/WinSCP?

I try execute command:

sudo su, but I am getting error: You must have tty to run sudo.

I try to resolve this error but without luck.

  • A little trick is you can use /tmp as a temporary place and then move the files from it, beware of security and space limitations though.
    – Shadok
    Aug 24, 2011 at 13:27
  • For WinSCP, see How to change user in winSCP? May 21, 2014 at 6:20

4 Answers 4


What the basic problem here is that there is a protection again non-human input. TTY ensures that the action is performed from keyboard actions, and not from another program. Now there is a way around this.

If you have access to the sodeors file you can deal with this. It is not really recommended but here goes, this is really a way that works.

You open the file /etc/sudoers and you find the following line:

Defaults:myusername    !requiretty

This tells the the system that the user myusername can perform non-keyboard actions. Now you can work with all your files using the sudo command.

Best is to try to avoid this.


When dealing with Amazon Web Services and WinSCP the adjusting the sudoers keyboard input status does not work because WinSCP continues to throw a SSH command that AWS does not understand and will give a bash error.

I was having the same problem and solved it using the steps in this tutorial:

How to Login in as SSH root user from WinSCP to AWS

enter image description here

enter image description here

enter image description here

  • You could post the summary without screenshots. Posting just a link is not a good practice.
    – Olli
    Mar 6, 2014 at 13:26
  • Turning off keyboard-interactive authentication is irrelevant, imho. It has nothing to do with TTY. And it affects SSH authentication phase only. sudo's turn is only after SSH authentication phase. Read about keyboard-interactive authentication. May 21, 2014 at 6:24
  • i'm facing the same problem and thank god I found something here :) One question, what are the command that this will need to allow from sudo config?
    – Yasiru G
    Aug 3, 2016 at 6:43

With WinSCP, check the "Avanced Options" box. In the Environnement>SFTP section, select the "sudo su -c /bin/sftp-server" option.

Indeed, your SSH server has to be configured to allow you lauchning such command.


You have to consider to log in as your root user on the server rather than using su or sudo, this could be done by username or password or via a key file. However, the server should allow you to do this; if not, there is not much that you can do to remotely gain root acces...

  • I logged in by key/username which I get from my boss, but it gives me nothing at all, I can't copy files at all
    – drupality
    Aug 24, 2011 at 12:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.