首先SSH到服务器,进行配置

1、获取 sftp_server 的路径

Bash
cat /etc/ssh/sshd_config|grep sftp
Subsystem sftp /usr/lib/openssh/sftp-server

2、为特定用户添加免密码执行 sudo sftp_server 的权限

TEXT
visudo

如果有

TEXT
Defaults    requiretty

则需要把这行注释

然后添加

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

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

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

“#includedir /etc/sudoers.d”之上

国内的大部分文章都没提到这点,我在配置时遇到问题,Google 之后才发现这个关键点。

另外 visudo 之后直接就是编辑状态,保存退出需要先 ^+O,然后回车,最后 ^+X。

3、服务器配置完成,配置 WinSCP

编辑站点,进入高级设置

在 SFTP 配置里填写 SFTP 服务器为“sudo /usr/lib/openssh/sftp-server”

在 Shell 配置里填写“sudo -i”

然后“确定”,“保存”

完成了,享受 WinSCP 以普通用户登录却拥有 root 权限的便利吧!