linux sftp root 登陆,WinSCP普通用户登录sftp切换到root权限

一般服务器为安全禁止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权限:

#http://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

7b36e5c93922ead96d7a32f35feb028d.png

此时用winscp登录就是root权限了,对整个系统的文件都拥有生杀大权。。。

原文转自 海运博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
其他人可以通过创建自己的用户账户来登录sftp服务器,而不是使用root用户。这可以通过以下步骤完成: 1. 创建新用户账户:使用adduser命令创建一个新的用户账户。例如,要创建名为“john”的新用户账户,可以使用以下命令: ```bash sudo adduser john ``` 2. 设置用户密码:使用passwd命令为新用户设置密码。例如,要为“john”用户设置密码,可以使用以下命令: ```bash sudo passwd john ``` 3. 将新用户添加到sftp组中:使用usermod命令将新用户添加到sftp组中。例如,要将“john”用户添加到sftp组中,可以使用以下命令: ```bash sudo usermod -aG sftp john ``` 4. 配置sftp服务器:为了允许新用户通过sftp登录服务器,需要在sftp配置文件中指定他们的访问权限。在OpenSSH中,可以编辑/etc/ssh/sshd_config文件,并添加以下行: ``` Match group sftp ChrootDirectory /sftp/%u ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no ``` 上述行指定了sftp用户组的匹配规则,并指定了sftp根目录的路径。在此示例中,sftp根目录位于/sftp目录下的用户目录中。此外,指定了sftp连接的强制命令,以及禁止X11转发和TCP转发。 5. 重启SSH服务:完成上述更改后,需要重启SSH服务以使更改生效。可以使用以下命令来重启SSH服务: ```bash sudo service ssh restart ``` 现在,用户“john”就可以通过sftp登录到服务器,并且只能访问其个人的sftp根目录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值