一般服务器为安全禁止ssh下root账号登录,此时使用sftp登录管理服务器只能使用普通账号登录,给管理带来诸多不便,可以设置为特定普通SSH用户添加sudo权限,登录到sftp时可sudo切换到root权限下。
查看sftp-server执行文件目录:
cat /etc/ssh/sshd_config|grep sftp
Subsystem sftp /usr/libexec/openssh/sftp-server
编辑/etc/sudoers为特定用户添加执行sftp sudo权限:
#https://www.haiyun.me
user ALL=NOPASSWD: /usr/libexec/openssh/sftp-server
后续如果登录失败日记显示:
sorry, you must have a tty to run sudo ; TTY=unknown
需在/etc/sudoers内注释此行:
#Defaults requiretty
sftp客户端设置登录以sudo权限执行sftp,下图以winscp为例:
sudo /usr/libexec/openssh/sftp-server