Rocky Linux 8.5 初始化

网卡开机自启动

查看网卡名称

1
ip addr

配置网卡开机自启动,以网卡eth0 为例

1
nmcli connection modify eth0 connection.autoconnect yes

修改主机名

1
hostnamectl set-hostname vm2

使用阿里云镜像源替换默认源

备份默认源

1
2
mkdir /etc/yum.repos.d/backup
cp /etc/yum.repos.d/Rocky-* /etc/yum.repos.d/backup/

替换为阿里云

1
2
3
4
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
-i.bak \
/etc/yum.repos.d/Rocky-*.repo
1
dnf makecache

参考:https://developer.aliyun.com/mirror/rockylinux

升级系统中所有软件包

1
2
dnf update 
dnf upgrade

创建一个新用户

当你使用 root 登录到服务器,我们一般都是新建一个普通用户
以用户 admin 为例,您可以将 admin 替换为您喜欢的名字

1
adduser admin

设置这个用户的密码

1
passwd admin

添加Root 权限

Rocky Linux 默认的 wheel 组有运行 sudo 的权限,将新用户加入 wheel 组中

1
gpasswd -a admin wheel

添加服务器的公钥授权(推荐)

如果你没有这一对密钥,可以使用一下命令生成,本例中用户名为 admin

1
2
ssh admin@SERVER_IP_ADDRESS
ssh-keygen -t rsa -C youremail@yourdomain.com

注意
输入密码的部分:
如果不输入密码,每次访问服务器不会提示输入密码
如果输入密码,每次访问服务器都需要输入这个密码

这里使用命令参数-t 指定了密钥的算法,-C 指定了密钥的注释
执行命令之后,会在 $HOME 下的 .ssh 目录下生成 2 个文件,id_rsa 为私钥,id_rsa.pub 为公钥

拷贝id_rsa.pub公钥到服务器
生成 SSH 密钥对之后,您需要将本地(客户端)的公钥,拷贝到服务器(服务端)

从本机拷贝到本机,执行以下命令

1
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

另外,从本机拷贝到远程服务器,执行以下命令

1
ssh-copy-id -i ~/.ssh/id_rsa.pub admin@SERVER_IP_ADDRESS

这会将本地用户的公钥拷贝到服务端的 admin 用户的 .ssh/authorized_keys 文件中

开启私钥登录

1
2
3
4
5
sudo vi /etc/ssh/sshd_config

RSAAuthentication yes //去掉前面的注释
PubkeyAuthentication yes //去掉前面的注释
AuthorizedKeysFile .ssh/authorized_keys //去掉前面的注释

如果私钥不在本机,请先下载回来

1
scp -r admin@SERVER_IP_ADDRESS:~/.ssh/id_rsa  .ssh/vm2-admin

退出当前登录,验证证书能否正常登录

1
ssh -i .ssh/vm2-admin admin@SERVER_IP_ADDRESS

如果您是Windows用户,如果出现以下错误,请记得把私钥放到C:\Users目录下,比如C:\Users\admin\.ssh

1
2
3
4
5
6
7
8
PS C:\Users\admin> ssh -i /tmp/vm2-admin-id_rsa admin@10.0.0.33
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for '/tmp/vm2-admin-id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/tmp/vm2-admin-id_rsa": bad permissions

禁止root用户远程登录

先用admin登录到服务器,然后修改SSH配置

1
2
3
4
5
ssh admin@SERVER_IP_ADDRESS
sudo vi /etc/ssh/sshd_config

PermitRootLogin yes //去掉前面的注释
PermitRootLogin no //yes改为no

:wq 之后,保存退出

重启 SSH 服务,使其生效

1
sudo systemctl reload sshd

禁止密码远程登录

操作前确保私钥可以正常登录,并且当前用户拥有sudo权限

1
2
3
4
5
sudo vi /etc/ssh/sshd_config

PasswordAuthentication no //yes改为no
ChallengeResponseAuthentication no //yes改为no

:wq 之后,保存退出

重启SSH 服务,使其生效

1
sudo systemctl reload sshd