本文基于个人实践所写,有误请指出。 本文基于Debian11,ubuntu应该可以照抄

  • netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。可以关掉不需要的进程。
  • timedatectl set-timezone "Asia/Shanghai"设置时区为中国上海。
  • apt --purge autoremove 自动删除不需要的包。(据说有误删风险)
  • apt autoclean 自动清理过期安装包。
  • adduser创建新用户,不使用root用户。通过修改 /etc/sudoers 文件,配置用户权限,免输入sudo密码。(服务器启动时就已经不是root的可以不管这条)

  • 修改/etc/sysctl.conf配置文件,添加如下语句:(重启服务器/重载配置 后生效)
    • 打开bbr网络控制算法加速,一般新版本服务器有默认打开,可用 lsmod|grep bbr 命令查看

      net.core.default_qdisc=fq
      net.ipv4.tcp_congestion_control=bbr
      
    • 禁止icmp协议(禁 ping)

      net.ipv4.icmp_echo_ignore_all=1
      
    • 打开80端口与之后端口的控制权限

      net.ipv4.ip_unprivileged_port_start=80
      

  • 修改/etc/ssh/sshd_configssh配置文件,更改ssh默认连接端口(22),增加安全性:(需 重启服务器/重载配置 可生效)
    1. 在文件中找到Port 22一行,这是默认的22端口。
    2. 添加Port 233则可使用233端口登录服务器。
    3. 验证无误后删掉Port 22一行。

  • 密钥登录替代密码登录,增加安全性:(重启服务器/重载配置 后生效)
    1. 使用ssh-keygen -t rsa命令,服务器生成ssh密钥,生成后一般在/root/.ssh/可以找到。(root用户下)
      • 如果你要设置的用户不是root,比如是test之类的 那么你要设置的.ssh目录应该是/home/test/.ssh,并且要将.ssh目录和authorized_keys文件的文件所有者改为test,否则还是登陆不了。
    2. 检查下.ssh目录下authorized_keys文件是否存在,没有的话,创建一个,然后将id_rsa.pub的内容追加到authorized_keys文件尾。
      • cd .ssh
        touch authorized_keys	            # 如果ssh中存在此文件则省略此步骤
        cat id_rsa.pub >> authorized_keys   # 将id_rsa.pub的内容追加到authorized_keys 
        
    3. 使用chmod 700 .ssh命令修改.ssh的权限为700,chmod 600 .ssh/authorized_keysauthorized_keys的权限为600或者更严格的400,否则登录的时候会提示server refuse you key。
    4. 修改/etc/ssh/sshd_configssh配置文件:找到RSAAuthentication yesPubkeyAuthentication yes no改为yes。
    5. 验证ssh密钥登录无误后可在配置文件中添加(修改)PasswordAuthentication no 禁用密码登录。
    6. 参考自 https://blog.csdn.net/qq_27870421/article/details/94594492