添加个人用户
(本文统一使用ohmmx)
以root身份执行命令
adduser -m ohmmx
如果想要删除用户,以root身份执行命令
userdel -r ohmmx
添加用户鉴权
使用密码登录
sudo passwd ohmmx
输入两次密码确认以后,该用户可以使用密码进行登录。
使用SSHKey登录
创建 {$用户目录}/.ssh/authorized_keys (该路径可以在 /etc/ssh/sshd_config 中配置) 文件并存入,此处路径为 /home/ohmmx/.ssh/authorized_keys
其中 .ssh权限700,authorized_keys文件权限600。
以root身份更改文件所属者:
chown -R ohmmx:ohmmx .ssh
将本地客户端工具生成的公私钥对中的公钥存入文件,例如:
ssh-rsa AAAAB………2Q== ohmmx
其中两个等号后面为备注,标注该公钥是由ohmmx用户使用,多用户配置时该注释能清晰区分各用户对应公钥。
给用户添加SUDO权限
为避免日常使用root用户,在操作过程中产生的错误操作,日常建议使用个人用户,并添加sudo权限,在需要使用root身份的时候单独使用sudo权限执行命令。
以root身份执行命令
visudo
在 ## Allow root to run any commands anywhere 下面root用户下面添加一行内容:
ohmmx ALL=(ALL) ALL
这样在执行sudo命令时要求输入用户自己的个人密码;
也可以配置为不用输入密码直接执行sudo命令
ohmmx ALL=(ALL) NOPASSWD:ALL
关闭Selinux安全管理
Selinux为Linux系统内部用户账户控制设置模块,任何权限都需要配置申请,这里先将其关闭。
sudo vim /etc/selinux/config
将enforcing调整为disabled
SELINUX=disabled
调整SSH设置
sudo vim /etc/ssh/sshd_config
只对一些相对重要的参数进行说明:
Port 22
SSH链接端口,默认22,配置文件默认注释掉了。需要修改端口先去掉注释,并更改端口为指定数字。
ListenAddress 0.0.0.0
SSH监听地址,默认0.0.0.0。此处不用调整;如果需要调整,请学习局域网网关、网段相关知识。
PermitRootLogin yes
是否允许root用户通过SSH链接,默认允许。此处需要调整为no关闭,只允许个人用户通过SSH链接,如果需要root身份,可以使用sudo命令进行操作。
PubkeyAuthentication yes
是否允许通过公钥登录,默认允许。
AuthorizedKeysFile .ssh/authorized_keys
公钥保存路径。修改此处配置,需要对应调整公钥文件路径。
PasswordAuthentication yes
是否允许通过密码登录,默认允许。可以将此处关闭,强制要求使用公钥登录。
X11Forwarding yes
图形化远程界面,默认允许。此处可以关闭,通常用不到。
防火墙设置(如果修改了SSH默认端口)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
如果要以service的形式添加防火墙设置,将文件存放到/etc/firewalld/services/路径。(不要存放到/usr/lib/firewalld/services/路径,该路径在系统更新时会恢复默认值)。
/etc/firewalld/services/下的配置文件会覆盖掉/usr/lib/firewalld/services/路径下的配置,比如将/usr/lib/firewalld/services/ssh.xml复制到/etc/firewalld/services/ssh.xml并修改端口为2222,则ssh服务生效的就是2222端口。
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload