SSH 频繁掉线

找到文件 /etc/ssh/sshd_config 进行修改

1
2
ClientAliveInterval 15
ClientAliveCountMax 45
阅读更多

Linux 内核参数优化

系统全局允许分配的最大文件句柄数

1
2
3
4
# 2 millions system-wide
sysctl -w fs.file-max=2097152
sysctl -w fs.nr_open=2097152
echo 2097152 > /proc/sys/fs/nr_open
阅读更多

释放 Linux Buff / Cache

首先要确认,/proc/sys/vm/drop_caches的值为 0,手动执行 sync 命令

1
# sync

执行释放

1
# echo 3 > /proc/sys/vm/drop_caches

SSH 登录限制

只允许指定用户进行登录

修改 /etc/ssh/sshd_config,例如:允许 aliyun 和从 192.168.1.1 登录的 test 帐户通过 SSH 登录系统

1
AllowUsers aliyun test@192.168.1.1

只拒绝指定用户进行登录

修改 /etc/ssh/sshd_config,例如:拒绝 zhangsan、aliyun 帐户通过 SSH 登录系统

1
DenyUsers zhangsan aliyun

固定的 IP 进行禁止登录

修改 /etc/hosts.allow

1
2
3
4
# 允许 192.168.0.1 这个 IP 地址 ssh 登录
sshd:192.168.0.1:allow
# 允许 192.168.0.1/24 这段 IP 地址的用户登录
sshd:192.168.0.1/24:allow

SSH 免密码登录

使用 ssh-keygen 生成密钥对

1
ssh-keygen -t rsa

生成之后会在用户的根目录生成一个 “.ssh”的文件夹

  • id_rsa 生成的私钥文件
  • id_rsa.pub 生成的公钥文件

将公钥公钥重命名为 authorized_keys, 设置权限

1
2
chmod 700 -R .ssh
chmod 600 .ssh/authorized_keys

Iptable 规则

添加规则,开放端口(例如 80 端)

1
# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

删除规则,如上先查询规则列表

1
# iptables -L -n --line-number

然后再通过号码进行删除

1
# iptables -D INPUT 2

FTP 配置之 Vsftpd

centos 下通过 yum 安装

1
# yum -y install vsftpd

配置 /etc/vsftpd/vsftpd.conf ,将匿名用户登录关闭

1
anonymous_enable=NO

对 ftp 外用户做出限制

1
chroot_local_user=YES

如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了

1
allow_writeable_chroot=YES

创建 FTP 用户

1
useradd -s /sbin/nologin -d /home/website kain

给 kain 添加密码

1
passwd kain

让防火墙允许 21 端口

1
/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

重启 vsftpd

1
systemctl restart vsftpd

grub2 引导 Linux 系统

这个是我的 linux 分区,可以根据需要调整

1
set root=(hd0,gpt5)

你的 linux 内核,可以通过 Tab 补全,告知 Grub 内核镜像在分区中的位置,以及根文件系统的位置

1
linux /boot/vmlinuz-4.17.1-24 root=/dev/sda5

同样可以用 tab 补全。设置虚拟文件系统 initial ramdisk 文件的位置

1
initrd /boot/initrd.img-4.17.1-24

SWAP 交换分区

Linux 中的 SWAP(交换分区),类似于 Windows 的虚拟内存。系统会把一部分硬盘空间虚拟成内存使用,将系统内非活动内存换页到 SWAP,以提高系统可用内存。

阅读更多