Centos7 踩坑记录
1、开启ssh服务(被selinux坑了)
1)先检查机器有没有安装ssh服务 rpm -qa |grep ssh
(有openssh-server说明已安装)
2)若没安装:yum install -y openssh-server
在安装个yum install -y openssh-clients
才可以使用scp
命令
3)更改ssh配置文件: vi /etc/ssh/sshd_config
将 Port 22的注释(#)去掉
4)开启ssh服务:systemctl start sshd.service
5)关闭ssh服务:systemctl stop sshd.service
- ssh服务开机自启:
systemctl enable sshd.service
- 关闭ssh开机自启:
systemctl disable sshd.service
注:启动之后查看进程是否存在,22端口是否开启
突发奇想:换个ssh端口号 改成了 8080,结果ssh服务启动报错
查了半天发现SElinux是罪魁祸首
SElinux
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
查看SElinux状态:getenforce
Enforcing:强制启用
permissive:大部分规则都放行
disabled:停用
关闭SELinux的方法:
1)临时关闭:
setenforce 0 #设置SELinux 成为permissive模式
setenforce 1 #设置SELinux 成为enforcing模式
2)永久关闭:
修改etc/selinux/config
文件
将SELINUX=enforcing
改为SELINUX=disabled
然后重启服务器即可
2、防火墙(firewall)
- 启动防火墙:
systemctl start firewalld.service
- 关闭防火墙:
systemctl stop firewalld.service
- 开放指定端口(8080端口):
firewall-cmd --zone=public --add-port 8080/tcp --permanent
(--permanent
表示永久生效,没有此参数重启后失效) - 重新加载firewall:修改配置后,必须重新加载才能生效:
firewall-cmd --reload
- 停用指定端口(8080端口):
firewall-cmd --zone=public --remove-port 8080/tcp --permanent
配置完之后记得重新加载firewall - firewall-cmd对端口的操作,如开放端口等信息,都放在
/etc/firewall/zones/public.xml
中记录
3、新安装系统 没有配置DNS,无法下载软件:Could not resolve host: mirrors.tuna.tsinghua.edu.cn;……
解决办法:配置DNS即可:
# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114
4、安装软件报错:No package htop available.
解决办法:添加第三方源 EPEL
yum install -y epel-release
什么是EPEL?
EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
EPEL为服务器版本提供大量的rpm包,而且大多数rpm包在官方 repository 中是找不到的。