很多时候我们需要root权限去修改文件,但默认用户不是root,需要sudo后才能进行文件的传输。
先查看sftp-server文件的位置:
zhang@ubuntu:~$ cat /etc/ssh/sshd_config |grep -i sftp-server
Subsystem sftp /usr/lib/openssh/sftp-server
在WinSCP的设置中选择高级,SFTP,然后输入命令sudo su -c /usr/lib/openssh/sftp-server,记得替换成自己的sftp文件位置:

如果你的用户sudo命令需要输入密码,那么你还需要一个操作。
修改文件/etc/sudoers:
nano /etc/sudoers
在最后一行添加:
yourusername ALL=NOPASSWD: /usr/lib/openssh/sftp-server
记得把用户和文件位置都替换成自己的。
现在在使用sftp时sudo就不需要密码了。
参考文章:How do I change user after login (e.g. su root)? :: WinSCP
本文介绍了如何在WinSCP中通过sudo命令无密码获取SFTP的root权限。首先,找到sftp-server文件位置并在WinSCP高级设置中配置。如果sudo需要密码,需要编辑相关文件,添加免密切换用户配置。按照此方法设置后,使用sftp时可以无需密码通过sudo切换到root用户。
1907

被折叠的 条评论
为什么被折叠?



