首先SSH到服务器,进行配置
1、获取 sftp_server 的路径
cat /etc/ssh/sshd_config|grep sftp Subsystem sftp /usr/lib/openssh/sftp-server
2、为特定用户添加免密码执行 sudo sftp_server 的权限
visudo
如果有
Defaults requiretty
则需要把这行注释
然后添加
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 权限的便利吧!