开启root登入
首先用ubuntu用户名配合秘钥登陆,然后切root用户
su root
passwd #设置root密码
修改authorized_keys文件(即ssh证书)
vim .ssh/authorized_keys
把ssh-rsa之前的文件都删除掉。
打开root登陆,编辑ssh配置文件
vim /etc/ssh/sshd_config
修改以下地方
PermitRootLogin yes #将前面的#号删除,改成加空格yes代表启用Root登录,如不需要请跳过
PubkeyAuthentication yes #将其前面添加#号代表关闭密钥认证登录
PasswordAuthentication yes #将其前面#删除并加空格yes代表启用密码登录
ClientAliveInterval:300#为设置的连接会话保持时间,单位为秒。
ClientAliveCountMax:600#为设置的连接会话允许超时次数。
如果修改完这些登陆还是提示No supported authentication methods available (server sent: publickey),则还需要修改以下地方
vim /etc/ssh/sshd_config.d/60-cloudimg-settings.conf
PasswordAuthentication yes #把no改成yes
保存退出
然后reboot
重启服务器。就可以使用root用户名配合秘钥登入了
开启指定端口
ubuntu每次重启后会重置防火墙端口,iptables持久化方案,如何让防火墙规则重启后依旧有效?
推荐使用iptables-persistent工具
首先,安装:
apt-get install iptables-persistent
添加指定端口
vim /etc/iptables/rules.v4
按i进入编辑模式
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT #添加443tcp端口
保存当前设置的iptables防火墙规则
netfilter-persistent save
重新载入防火墙规则
netfilter-persistent reload
加载规则到现在的防火墙
iptables-restore < /etc/iptables/rules.v4
说明:
保存的规则文件路径如下
/etc/iptables/rules.v4
/etc/iptables/rules.v6
修改ssh登陆端口
改成了root加密码登陆后,如果不修改ssh默认22端口,每天都有一群IP来破解你的密码。
因此修改登陆端口也是有必要的。
vim /etc/ssh/sshd_config
找到#Port 22
在旁边添加一个你需要修改的端口如Port 23546
确保你之前在端口中开放了要修改的端口
最后重启sshd服务
systemctl restart sshd.service
安装fail2ban防止密码暴力破解
1、安装fail2ban
apt-get update #更新软件仓库
apt-get install fail2ban #安装fail2ban
2、配置Fail2ban
新建配置文件
vim /etc/fail2ban/jail.local
进入编辑模式
[DEFAULT]
# fail2ban忽略的IP,没有的话可以删除这一项
ignoreip = 1.1.1.1
# 客户端被禁止时长(秒)
bantime = 6000
# 客户端主机被禁止允许失败的次数
maxretry = 5
# 统计时间范围,在规定时间内满足条件开始执行封锁,单位:秒
findtime = 6000
#日志修改检测机制(gamin、polling和auto这三种)
backend = polling
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
设置完重启服务
sudo systemctl restart fail2ban
最后设置fail2ban为开机自启
sudo systemctl enable fail2ban
#启动
systemctl start fail2ban
#重启
systemctl restart fail2ban
#开机重启
systemctl enable fail2ban
#查看状态
systemctl status fail2ban.service
#查看端口占用与否
lsof -i:端口号
#查看配置状态
fail2ban-client status
#修改默认配置
vim /etc/fail2ban/jail.conf
#查看攻击者
fail2ban-client status sshd
#确保防火墙已开起
systemctl enable firewalld systemctl start firewalld
#更新 SELinux 策略
yum update -y selinux-policy*
#查看被禁用的ip
iptables -L -n
#查看登陆失败日志
cat /var/log/secure | grep 'Failed password'
#解锁ip
fail2ban-client set sshd unbanip IPADDRESS
服务器常用命令
最全测速脚本
curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast
直接显示回程线路
curl https://raw.githubusercontent.com/zhucaidan/mtr_trace/main/mtr_trace.sh|bash
三网测速
bash <(curl -Lso- https://git.io/superspeed_uxh)
测试25端口是否开放
telnet smtp.aol.com 25
全媒体测试
bash <(curl -L -s https://raw.githubusercontent.com/lmc999/RegionRestrictionCheck/main/check.sh)
docker安装
wget -qO- get.docker.com | bash
x-ui
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)
综合工具箱
wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh