0
点赞
收藏
分享

微信扫一扫

[Linux] 创建可以免密登录的SFTP用户

SDKB英文 2024-11-02 阅读 25
linuxsftp

本文主要包含:

  1. 创建新用户
  2. 创建密钥对用于免密登录新用户
  3. 将新建用户改造为SFTP用户
  4. 为SFTP上传数据设置限速

1. 创建新用户

sudo useradd sftp_user
sudo passwd sftp_user # 输入密码

2. 创建密钥对

参考这篇文章 [Linux] 生成 PEM 密钥对实现服务器的免密登录

3. 将新建用户改造为SFTP用户

  • 创建数据存储目录并修改权限
sudo chown root:root /data/sftp
sudo chmod 755 /data/sftp
  • 打开 /etc/ssh/sshd_config, 在文件末尾写入
Match User sftp_user
    ForceCommand internal-sftp
    ChrootDirectory /data/sftp
    AllowTcpForwarding no
    X11Forwarding no
  • 执行sudo systemctl restart sshd是设置生效

这样就将用户设为只能用sftp连接(不能使用ssh连接), 且数据存储目录为 /data/sftp

4. 为SFTP上传数据设置限速

首先使用ifconfig查找网络接口, 一般包含服务器IP那个就是正在使用的网络接口, 比如我这里的em1
在这里插入图片描述
然后依次执行以下命令(限速 500KB/s)

# 清除现有的规则
sudo tc qdisc del dev em1 root
# 添加根队列,以便设置带宽限制
sudo tc qdisc add dev em1 root handle 1: htb default 11
# 创建一个带宽限制类,例如将上传速率限制为 500 KB/s
sudo tc class add dev em1 parent 1: classid 1:1 htb rate 500kbit ceil 500kbit
# 设置过滤器以限制该接口上的 TCP 流量,这样它就适用于 SFTP(默认使用端口 22)
sudo tc filter add dev em1 protocol ip parent 1:0 prio 1 u32 match ip protocol 6 0xff flowid 1:1
举报

相关推荐

0 条评论