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配置ssh
centos7 dvd镜像自带ssh服务,但是一路配置下来发现没有/.ssh文件夹,需要注意
环境为刚完成安装的崭新centos7
存疑 因为我并没有找到这个文件夹。即使不做这一步也能成功连接ssh
以下是服务器免密码登录,我并没有做,而且与网上其他方法不同,现在这贴出来
服务器免密码登录
将公钥粘贴其中
esc 后输入 :wq 保存退出
完成服务器免密码登录配置
原作者网址
CentOS 7安装和配置ssh
用vim打开配置文件/etc/ssh/sshd_config
将上图的PermitRootLogin,RSAAuthentication,PubkeyAuthentication的设置打开。
设置文件夹~/.ssh的访问权限:
authorized_keys文件存储的是客户端的公共密钥。
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的知识。
第三第四其中都有稍微提到一点,感兴趣可以看看