创建新用户
1.使用adduser -m 命令创建用户,并生成家目录
adduser -m usrname
2.使用passwd命令修改用户密码
passwd username
3.使用visudo命令,
visudo
找到root
在下面新增一行,并填入新用户名,赋予新用户超级管理员权限
4.编辑sshd_config,修改ssh端口号
vi /etc/ssh/sshd_config
找到port字段,
将注释#删除,并修改新ssh端口例:8022
5.注意,修改端口号后,如果服务器开启了防火墙,需要同时将新端口放行
PS:这里遇到两个问题,
一、在vi iptables 保存后,再重新打开发现修改失效;
二、在systemctl enable iptables ,重启后发现iptables 状态是inactive
最后发现原因是firewalld 服务和iptables服务冲突了
通过命令
systemctl status firewalld
发现firewalld 是active的
需要关闭自带防火墙并启动iptables
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables.service
systemctl enable iptables.service
修改防火墙:
vim /etc/sysconfig/iptables
添加新的端口,并注释掉旧端口:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
这里记得要保存,不然重启会失效
service iptables save
重启防火墙:
service iptables restart
或者
systemctl restart iptables
以下方法也可以试一下
查询全部已开放的端口
firewall-cmd --list-all
查询某个端口是否开放
firewall-cmd --query-port=[端口]/tcp
开放端口
firewall-cmd --permanent --add-port=[端口]/tcp
关闭端口
firewall-cmd --permanent --remove-port=[端口]/tcp
刷新服务(开放、关闭端口操作后需要刷新才能生效)
firewall-cmd --reload
ubuntu系统防火墙
查看UFW防火墙状态和规则
要查看UFW防火墙的当前状态和所有规则,可以执行以下命令:
sudo ufw status verbose
这个命令会显示防火墙是否处于激活状态,以及所有的入站和出站规则。如果防火墙是激活的,它还会显示默认的行为(比如默认拒绝所有传入连接,允许所有传出连接)。
查看特定端口的状态
如果你想要查看特定端口是否开放,可以使用netstat工具结合grep命令来过滤信息。例如,要检查80端口是否开放,可以使用:
netstat -ntlp | grep 80
这个命令会显示所有监听80端口的服务。
开放或关闭端口
如果你需要开放或关闭某个端口,可以使用ufw allow或ufw deny命令。例如,要开放80端口,可以使用:
sudo ufw allow 80
要关闭80端口,可以使用:
sudo ufw delete allow 80
禁用端口
sudo ufw deny 2222/tcp
刷新防火墙
sudo ufw reload
6.编辑sshd_config,取消root登陆权限
找到PermitRootLogin yes,改为no
7.编辑sshd_config,限制用户和IP地址进行SSH登陆
在最后添加名单,可以用username@IP,或者直接输入用户名,或者用通配符*@IP的形式书写。如果有多个用户可用空格连接。
AllowUsers username@192.168.1.1 username * @192.168.1.1
例:
AllowUsers user@192.168.1.1
如果是黑名单可以用
DennyUsers username@192.168.1.1 username * @192.168.1.1
8.最后重启SSH服务
systemctl restart sshd
或者
systemctl stop sshd
systemctl start sshd
或者
service sshd restart
测试新SSH端口
ssh -p 2222 username@your_server_ip