目录:
- 1、CentOS修改ssh端口号及ssh免密码登录
- 2、CentOS 7安装和配置ssh
- 3、centos7最小化安装后开启ssh
- 4、centos7 服务器基本的安全设置步骤
CentOS修改ssh端口号及ssh免密码登录
一般ssh的默认端口为22
比如正常使用终端登录局域网电脑
注意是 sshd_config 文件
在#Port 22行去掉#号注释,同时加入想要使用的端口号如 Port 22438
这里保留22端口是为了防止当前无法使用ssh登录
成功返回success
重启防火墙:
成功返回success
查看添加端口是否成功,成功则显示yes,否则为no:
查看本机SELinux状态,如果是关闭则可以跳过此步骤
以下使用semanage操作,没有可以使用以下命令安装:
以下命令为查看当前SELinux允许的ssh端口:
添加22438端口到SELinux,并确认
测试新端口ssh连接
可以正常登录即成功
将之前开放的Port 22一行注释掉并保存
然后重启ssh
使用以下命令无法登录服务器
本机终端输入:
配置相关全部直接回车
在~/.ssh/目录下生成两个文件
在本机终端输入:
在本机将认证文件**到服务器
如果服务器上没有文件夹就新建一个.ssh/文件夹
Enjoy
CentOS 7安装和配置ssh
用vim打开配置文件/etc/ssh/sshd_config
将上图的PermitRootLogin,RSAAuthentication,PubkeyAuthentication的设置打开。
设置文件夹~/.ssh的访问权限:
authorized_keys文件存储的是客户端的公共密钥。
centos7最小化安装后开启ssh
开启ssh服务需要root权限,先用root账户登陆
先检查有没有安装ssh服务:rpm -qa | grep ssh
如果没有安装ssh服务就安装 : yum install openssh-server
安装好后在ssh配置文件里进行配置 : vim /etc/ssh/sshd_config
修改完后用 /bin/systemctl start sshd.service 开启ssh服务,这个命令没有回显
开启后用 ps -e | grep sshd 检查一下ssh服务是否开启
再用netstat -an | grep 22检查一下22端口是否开启
将ssh服务添加到自启动列表中:systemctl enable sshd.service
centos7 服务器基本的安全设置步骤
关闭ping扫描,虽然没什么卵用
先切换到root
echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all
1代表关闭
0代表开启
用iptables
iptables -I INPUT -p icmp -j DROP
简单介绍下基本的 dedecms _aq/' target='_blank'安全设置
一、创建普通用户,禁止root登录,只允许普通用户使用su命令切换到root
这样做的好处是双重密码保护,黑客就算知道了普通用户的密码,如果没有root密码,对服务器上攻击也比较有限
以下是具体做法(需要在root下)
添加普通用户
useradd xxx
设置密码
passwd xxx
这样就创建好了一个普通用户
禁止root登录
vi /etc/ssh/sshd_config
PermitRootLogin no
Systemctl restart sshd
这样就完成了第一步,之后root就无法登录服务器只能通过普通用户su切换
二、修改ssh的默认端口22,因为ssh的端口是22,我们如果修改了该端口,他们就需要花费一点时间来扫描,稍微增加了点难度
以下将端口改为51866可以根据需要自己更改,最好选择10000-65535内的端口
step1 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //这行去掉#号
Port 51866 //下面添加这一行
为什么不先删除22,以防其他端口没配置成功,而又把22的删除了,无法再次进入服务器
step2 修改SELinux
安装semanage
$ yum provides semanage
$ yum -y install policycoreutils-python
使用以下命令查看当前SElinux 允许的ssh端口:
semanage port -l | grep ssh
添加51866端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 51866
注:操作不成功,可以参考:
失败了话应该是selinux没有打开
然后确认一下是否添加进去
semanage port -l | grep ssh
如果成功会输出
ssh_port_t tcp 51866, 22
step3 重启ssh
systemctl restart sshd.service
查看下ssh是否监听51866端口
netstat -tuln
Step4 防火墙开放51866端口
firewall-cmd --permanent --zone=public --add-port=51866/tcp
firewall-cmd --reload
然后测试试试,能不能通过51866登录,若能登录进来,说明成功,接着删除22端口
vi /etc/ssh/sshd_config
删除22端口 wq
systemctl restart sshd.service
同时防火墙也关闭22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp
注意如果是使用阿里的服务器需要到阿里里面的安全组添加新的入站规则(应该是因为阿里的服务器是用的内网,需要做端口映射)
三、使用一些类似DenyHosts预防SSH暴力破解的软件(不详细介绍)
其实就是一个python脚本,查看非法的登录,次数超过设置的次数自动将ip加入黑名单。
四、使用云锁(不详细介绍)
参考自
总的来说做好了前两步能够减少至少百分之五十的入侵,在做好第三步之后,基本可以杜绝百分之八十以上的入侵。当然最重要的还是自己要有安全意识,要多学习一些安全知识和linux的知识。
第三第四其中都有稍微提到一点,感兴趣可以看看
评论前必须登录!
注册