为了保服务器的安全,我们禁止了服务器的ROOT用户,然后创建一个自己知道的用户名和密码。这样相对只使用ROOT用户安全一些,但是在设置普通用户之后,当然也禁止掉ROOT用户登入,我们再去用普通用户登入WINSCP文件管理的时候会出现权限问题,无法上传文件。

  1. 查看sftp应用程序的路径

    1
    cat /etc/ssh/sshd_config  | grep sftp

    返回结果

    1
    Subsystem       sftp    /usr/lib/openssh/sftp-server

    ssh默认是支持sftp协议的。

  2. 修改用户权限

    1
    sudo visudo

    ​ 为你的用户增加权限

    1
    yourname   ALL=NOPASSWD:/usr/lib/openssh/sftp-server

    以下是winscp官网的faq,大概意思是赋予你的用户sftp服务器的免密码权利

    而不是使用yourusername ALL=NOPASSWD: ALL 这样的权限。

    需要注意的是,这行一定要在

    “%sudo ALL=(ALL:ALL) ALL”之下

    【winscp官网FAQ地址】

  3. WinSCP设置

    image-20200415213312736

    image-20200415213336130