本文基于个人实践所写,有误请指出。 本文基于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_config
ssh配置文件,更改ssh默认连接端口(22),增加安全性:(需 重启服务器/重载配置 可生效)- 在文件中找到
Port 22
一行,这是默认的22端口。 - 添加
Port 233
则可使用233端口登录服务器。 - 验证无误后删掉
Port 22
一行。
- 在文件中找到
- 密钥登录替代密码登录,增加安全性:(重启服务器/重载配置 后生效)
- 使用
ssh-keygen -t rsa
命令,服务器生成ssh密钥,生成后一般在/root/.ssh/
可以找到。(root用户下)- 如果你要设置的用户不是root,比如是test之类的
那么你要设置的.ssh目录应该是
/home/test/.ssh
,并且要将.ssh目录和authorized_keys文件的文件所有者改为test,否则还是登陆不了。
- 如果你要设置的用户不是root,比如是test之类的
那么你要设置的.ssh目录应该是
- 检查下.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
-
- 使用
chmod 700 .ssh
命令修改.ssh的权限为700,chmod 600 .ssh/authorized_keys
authorized_keys的权限为600或者更严格的400,否则登录的时候会提示server refuse you key。 - 修改
/etc/ssh/sshd_config
ssh配置文件:找到RSAAuthentication yes
、PubkeyAuthentication yes
no改为yes。 - 验证ssh密钥登录无误后可在配置文件中添加(修改)
PasswordAuthentication no
禁用密码登录。 - 参考自 https://blog.csdn.net/qq_27870421/article/details/94594492
- 使用