很多时候我们需要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