首先新建目录 /etc/bak 用于各种配置文件的备份。

1
sudo mkdir /etc/bak

安全加固

root免密登录

1
2
3
4
5
6
7
8
# 1.生成rsa密钥对。输入命令后,可依次自行指定公私钥对保存的位置和密码。此处直接回车使用默认目录位置 `~/.ssh` 和无需密码
ssh-keygen -t rsa

# 2.添加授权公钥。将本地公钥添加文件 `.ssh/authorized_keys`. 可以通过其他方式如 echo, tee 等
vim ~/.ssh/authorized_keys

# 3.设置文件读写权限
chmod 600 ~/.ssh/authorized_keys

ssh 重新登录测试是否已生效。

修改ssh登录端口

1
2
3
4
5
6
7
8
# 备份配置文件,可跳过
sudo cp /etc/ssh/sshd_config /etc/bak

# 直接编辑 sshd_config 文件,将 "#Port 22" 移除注释并修改端口号
vim /etc/ssh/sshd_config

# 重启sshd使配置生效
systemctl restart sshd

注意,如果云服务商默认开启了防火墙(如阿里云),则需要在管理后台开放相应端口。

另一种快速修改端口的方式:懒得打开文件编辑,直接使用 sed 进行替换

1
2
3
4
5
6
# 测试目标文本"#Port 22"是否存在,可跳过
# 注意此处特意匹配未修改过的文本 "#Port 22", 为的是减少误伤。如果已经发生修改,例如取消注释,则配置不会发生修改。
sed -n '/#Port 22/p' /etc/ssh/sshd_config

# sed原地替换,此示例使用端口号9999,可改为其他端口号
sed -i 's/#Port 22/Port 9999/' /etc/ssh/sshd_config

创建管理员账号

1
2
3
4
5
# 创建账号"myNewUser", 可改为其他
useradd myNewUser

# 为新建设置密码
passwd myNewUser

免密登录

过程同 root 账号免密登录,略。

加入sudo账号

使用 visudo 命令,相当于 vi /etc/sudoers, 但会在保存前进行语法检查。

方法一:直接赋予该账号运行所有命令的权限,且无需输入密码:

1
2
3
4
visudo

# 在"root ALL=(ALL) ALL"一行下方添加:
myNewUser ALL=(ALL) NOPASSWD:ALL

方法二是把用户添加到用户组 wheel, 并为 wheel 用户组赋予权限。

1
2
3
4
5
6
7
# 取消以下任一行的注释。
# "#%wheel ALL=(ALL) ALL"
# "#%wheel ALL=(ALL) NOPASSWD: ALL"
%wheel ALL=(ALL) NOPASSWD: ALL

# 保存并退出后,再运行 usermod 命令,为新用户添加 wheel 用户组
usermod -aG wheel myNewUser

“NOSASSWD:”的作用是无需输入密码。如果要求使用 sudo 命令时输入登录密码作为验证,可以删除”NOSASSWD:”。每次输入密码后会缓存5分钟。

测试 sudo 权限:

1
sudo ls /root

关闭ssh密码登录

在公钥登录成功后,关闭ssh的密码登录:

1
sudo vim /etc/ssh/sshd_config

sshd_config 内容:显式设置允许公钥验证、关闭密码验证。

1
2
PubkeyAuthentication yes
PasswordAuthentication no

编辑 sshd_config 后,重启 sshd 服务:

1
sudo systemctl restart sshd

测试密码登录:

1
ssh -p 9999 myNewUser@myHost -o PubkeyAuthentication=no

选项 -o PubkeyAuthentication=no 指定不使用公钥验证,服务器提示 Permission denied

其他设置

新建目录 /etc/bak 用于存放各种配置文件的备份。自定义配置位于 /etc/custom 目录,原配置文件只进行引用,目的是为了减少对原文件的修改。

1
2
3
# 新建目录分别用于存放自定义配置文件和备份的配置文件
sudo mkdir /etc/custom
sudo mkdir /etc/bak

vim设置和配色

vim 使用 solarized 配色方案。

1
2
3
4
5
6
7
8
9
10
11
# 下载solarized.vim到目录 /usr/share/vim/vim74/colors
sudo wget https://resource.spannerc.com/solarized.vim -P /usr/share/vim/vim74/colors

# 下载自定义配置文件vimrc到目录 /etc/custom
sudo wget https://resource.spannerc.com/vimrc -P /etc/custom

# 备份vim全局配置文件
sudo cp /etc/vimrc /etc/bak

# 在vim全局配置文件最后追加空行及引入自定义vim配置,注意source不能简写为'.'
sudo sh -c 'echo >> /etc/vimrc; echo "source /etc/custom/vimrc" >> /etc/vimrc'

bash设置

1
2
3
4
5
6
7
8
# 备份bash全局配置文件
sudo cp /etc/bashrc /etc/bak

# 下载自定义配置文件bashrc到目录 /etc/custom
sudo wget https://resource.spannerc.com/bashrc -P /etc/custom

# 在全局bash配置文件最后追加空行及引入自定义bash配置,此处source可简写为'.'
sudo sh -c 'echo >> /etc/bashrc; echo ". /etc/custom/bashrc" >> /etc/bashrc'

设置hostname

设置当前服务器hostname

1
hostnamectl set-hostname MyHostname

更新yum

1
yum update -y