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普通用户上传文件无权限问题解决

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

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

赞 (5) 点下广告支持吧 →▶
0 0 投票数
文章评分
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

2 评论
最新
最旧 最多投票
内联反馈
查看所有评论
爱小新

这个可以,给小朋友下载

2
0
希望看到您的想法,请您发表评论x