转载请注明出处
开放Root用户密码登陆容易遭受暴力破解,有被肉鸡的风险,一般建议使用非Root账号登陆,修改SSH端口号,或者使用密钥、证书等方式来降低风险。
创建用户
CentOS 8 使用addUser与Useradd来新建用户,值得注意的是,与Debian不同的是CentOS 8无论使用哪种方式创建用户都没有任何提示。
而Debian使用adduser会在添加用户的同时,创建与这个用户名名字一样的用户组,同时在/home目录下生成用户目录。并提供人机交互的方式让你输入门牌号、电话等信息。
部分参数说明
# 格式
# useradd [options] [username]
# -c comment 注释性描述
# -d 指定用户主目录
# -g 指定用户组
# -G 指定附加用户组
# -s 指定用户的登录Shell文件
# -u 指定标识号
# -o 重复使用其他用户标识号
# 新增用户
sudo adduser alain
# 设置密码
sudo passwd alain
# 分配sudo权限
# usermod -aG wheel alain
SSH 密钥登陆
建议在本地生成密钥文件后,将公钥上传至服务器。同个密钥可以作用于多个服务器。
# 格式及部分参数
# ssh-keygen -t [密钥类型] -b [密钥长度] -C [注释]
ssh-keygen -t rsa -b 4096 -C "alainlam.1993@gmail.com"
输入内容以及操作流程如下
Generating public/private rsa key pair.
# 回车
Enter file in which to save the key (/home/alain/.ssh/id_rsa):
Created directory '/home/alain/.ssh'.
# 输入密码,如果使用密码,在登陆时仍然要求输入密码
Enter passphrase (empty for no passphrase):
# 再次输入密码
Enter same passphrase again:
Your identification has been saved in /home/alain/.ssh/id_rsa.
Your public key has been saved in /home/alain/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
拷贝密钥至服务器
ssh-copy-id alain@server_ip_address
# 输入密码
# 公钥文件(~/.ssh/id_rsa.pub)将会被附加到远程用户
安装密钥
使用上诉方式上传至服务器后,一般会自动安装,以下是安装密钥的过程。
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
# 确保权限正确
chmod 600 authorized_keys
chmod 700 ~/.ssh
# 确认证书权限
ls ~/.ssh/id_* -l
修改SSH进行密钥登陆
在禁用Root以及密码登陆之前,我们需要先验证密钥登陆是否当前可用。
# 编辑SSH配置文件
nano /etc/ssh/sshd_config
# 确保以下两项打开
AuthorizedKeysFile ssh/authorized_keys
PubkeyAuthentication yes
使用以下命令进行登陆
# 不出意外的话,你将直接进入系统
# 当然,如果你有配置密码的话,则需要输入密码
ssh username@yourserver
确认账户可以正常登陆后,我们可以禁止Root以及密码登陆
# 编辑SSH配置文件
nano /etc/ssh/sshd_config
# 禁用密码登陆
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
# 禁用root登陆
PermitRootLogin no
文章评论