1.CentOS7 装机初始化配置

本贴最后更新于 2109 天前,其中的信息可能已经时移世改

Swap 分区

1、使用 dd 命令创建一个 swap 交换文件

if(输入文件,input file);
of(输出文件,output file);
bs(数据块大小,block size)同时读入/输出的块字节大小为 1024 个字节即 1KB;
count(数据块数量)单位 M 表示 1024 * 1024,K 表示 1024,因此 4GB=4M * 1KB。

dd if=/dev/zero of=/swap bs=1024 count=4M
2、对交换文件格式化并转换为 swap 分区
mkswap /swap
3、挂载并激活分区
swapon /swap
4、修改 swap 分区权限
chmod -R 0600 /swap
5、防止重启后 swap 分区变成 0,修改/etc/fstab 文件
# 目标文件
TARGET_FILE='/etc/fstab'
# 待追加的行字符串
TMP_STR='\/swap swap swap default 0 0'
# sed删除相同行
SED_DEL_CMD="sed -i '/^"$TMP_STR"\$/d' $TARGET_FILE"
# sed追加行
SED_APPEND_CMD="sed -i '\$a"$TMP_STR"' $TARGET_FILE"
# 执行
echo $SED_DEL_CMD' && '$SED_APPEND_CMD | bash
6、系统使用 swap 分区的依赖值(进阶配置)
cat /proc/sys/vm/swappiness
# 系统默认的swappiness值为30
sysctl vm.swappiness=10
# 使永久生效
TARGET_FILE='/etc/sysctl.conf'
TMP_STR='vm.swappiness = 10'
SED_DEL_CMD="sed -i '/^"$TMP_STR"\$/d' $TARGET_FILE"
SED_APPEND_CMD="sed -i '\$a"$TMP_STR"' $TARGET_FILE"
echo $SED_DEL_CMD' && '$SED_APPEND_CMD | bash
6、删除 swap 分区
swapoff /swap && rm -rf /swap
# 删除swap分区开机自动挂载策略
sed -i '/^\/swap swap swap default 0 0$/d' /etc/fstab

系统升级

yum install
# 添加EPEL(企业级Linux的一组高质量额外软件包)yum源
yum install -y epel-release
# 软件升级
yum -y update && yum -y upgrade
yum clean all && yum makecache
# 安装让程序后台运行的伪终端工具screen
yum install -y screen
# 安装守护进程工具
yum install -y daemonize

主机名

# 设置主机名并使永久生效
hostnamectl set-hostname domain.com

SSH 配置

1、修改 ssh 默认端口,允许公钥登录
# 修改`/etc/ssh/sshd_config`的`#Port 22`为`Port 60022`
sed -i '/^Port [0-9]\+$/d' /etc/ssh/sshd_config
sed -i '/^#Port 22$/aPort 60022' /etc/ssh/sshd_config
# 开启公钥登录
sed -i '/^PubkeyAuthentication yes$/d' /etc/ssh/sshd_config
sed -i '/^#PubkeyAuthentication yes$/aPubkeyAuthentication yes' /etc/ssh/sshd_config
# 重启sshd
systemctl restart sshd
2、配置 ssh 免密登录
  • 免登录其实是在本机生成两把锁,一把所谓的公钥是放到要登录的那台服务器上的,即公钥放在客户端。
  • 被登录的服务器上会有一个公钥文件,叫 authorized_keys。如果被登录的服务器有多个客户端要连上来,就会把每个密钥存成一行。
  • 客户端发送到服务器端的密钥文件一定要放到登录用户主目录的 ~/.ssh 这个隐藏目录下,如 guest 用户则在 /home/guest/.ssh/ 下。
  • 如果直接将 authorized_keys 的文件从客户端通过 ssh-copy-id 方式发送到服务器端,会覆盖原来的文件,对其他用户有影响,所以发送时要进行改名后合并,
# 生成rsa公私钥
ssh-keygen
# 查看ssh
ls -al ~/.ssh/
  • authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
  • id_rsa:生成的私钥文件
  • id_rsa.pub:生成的公钥文件
  • know_hosts:已知的主机公钥清单
# 发送公钥到免密服务器上
ssh-copy-id -i root@server.com
# 如果ssh端口不为22,则需指定端口
ssh-copy-id -i -p 60022 root@server.com

防火墙配置

# 开启ssh端口,http服务,https服务
systemctl start firewalld
firewall-cmd --zone=public --add-port=60022/tcp --permanent
firewall-cmd --zone=public --remove-service=ssh --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --zone=public --add-service=https --permanent
systemctl restart firewalld
systemctl enable firewalld

dns 配置

nmcli connection show
nmcli con mod eth0 ipv4.dns "223.5.5.5  8.8.8.8"
systemctl restart network
  • 笔记

    好记性不如烂笔头。

    306 引用 • 782 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...