Linux VPS禁止ROOT账户登陆后Winscp无法上传文件

linux一般为了安全,都会禁止root账户直接登陆ssh,但是用普通用户在打开winscp会话后无法通过su获得root权限,

上传文件的过程中会出现permission denied的提示,说用户无权限访问 错误返回码为3

(你也可以提高普通用户的权限,但并不推荐这样做)。所以在开始会话前就要通过sudo命令切换到root用户。

首先,新建会话的时候协议要选择SFTP或SCP,因为FTP协议不支持这个功能。

查找sftp-server 文件夹所在的系统路径

首先输入 su 命令,接着输入ROOT管理员密码回车  或  sudo -i获取 权限

cat /etc/ssh/sshd_config | grep sftp

会有如下输出

[root@instance-1 ~]# cat /etc/ssh/sshd_config | grep sftp
Subsystem sftp /usr/libexec/openssh/sftp-server
/usr/libexec/openssh/sftp-server即我们需要的路径
得到sftp-server文件路径后 修改sudo文件,给普通用户权限
[root@xjj ~]# vim /etc/sudoers
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
xjj ALL=NOPASSWD /usr/libexec/openssh/sftp-server#加入此行(括号内为注释不要复制进去 xjj为普通用户的用户名,ALL=NOPASSWD为权限,/usr/libexec/openssh/sftp-server为sftp路径)
#Defaults requiretty #注释掉此行,不然会报错(最前面加#号)

注释以上语句##在文本中找到下语句(没有则添加)

root    ALL=(ALL)  ALL

插入模式,在root ALL=(ALL)

ALL结尾处按回车在其下面增加以下语句(xjj是普通用户名,改成你自己的!)

xjj  ALL=NOPASSWD /usr/libexec/openssh/sftp-server

保存退出后 source下修改的文件,使其立即生效。(必须要做不然报错)

source /etc/sudoers

在winscp端进行连接设置

设置好主机名,端口号,用户名,密码之后点击高级

CentOS7 winscp普通用户上传文件无权限问题解决

设置SFTP 将你最上面的路径 /usr/libexec/openssh/sftp-server 填入

CentOS7 winscp普通用户上传文件无权限问题解决

设置 Shell

CentOS7 winscp普通用户上传文件无权限问题解决

确定保存后就可以登陆,然后进行文件上传了

⭕允许随意转载;但,请点赞!点赞:NMB HOST » Linux VPS禁止ROOT账户登陆后Winscp无法上传文件

赞 (3) 支持打赏

需要你的支持 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 爱小新这个可以,给小朋友下载回复
    • NMBHOST文章改变了哦回复