一.添加用户
为web项目添加用户
1.添加用户组
groupadd web
2.添加用户
useradd -g web dev
- web为用户组名
- dev替换成自己想要的用户名即可
3.设置用户目录权限
chmod -R 755 /home/dev
4.将某些账号加入到可以有sudo权限的行列中.
第一步:给/etc/sudoers文件添加可写权限(默认是没有写的权限)
chmod u+w /etc/sudoers
第二步:将需要sudo权限写入到/etc/sudoers文件中
dev ALL=(ALL) ALL
如果不想每次sudo时输入密码,把上面的内容替换成以下内容即可:
dev ALL=(ALL) NOPASSWD: ALL
二.关闭密码登录
1.客户端生成公钥和私钥
ssh-keygen -t rsa -C "shixinke"
- 将shixinke换成自己想要备注信息即可
- 运行以下命令会生成两个文件
- id_rsa : 私钥文件
- id_rsa.pub : 公钥文件
2.将公钥文件放于服务器中
复制公钥id_rsa.pub的内容放于服务器的用户目录下的.ssh/authorized_keys文件中.
cd /home/dev/.ssh
vim authorized_keys
注:
- 多个公钥放一个文件即可,每个公钥之间换行即可
3.设置通过密钥登录
修改/etc/ssh/sshd_config,设置以下内容:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
保存以上内容后,请重启ssh服务:
对于redhat/CentOS系统:
service sshd restart
针对debian/ubuntu系统:
sudo /etc/init.d/ssh restart
客户端验证通过密钥登录,验证是否登录成功.
4.关闭密码登录
如果上一步骤通过密钥可以登录成功,可以进行本步骤,否则,请不要执行本步骤的命令.
修改/etc/ssh/sshd_config,设置以下内容:
PasswordAuthentication no
然后重启ssh服务,验证通过密码是否不能登录
三.关闭root登录
关闭root登录前,请确保已经有其他账号具有root权限,否则,请将某些账号加入到sudo权限中.
1.在/etc/ssh/sshd_config配置中禁用root登录
PermitRootLogin no
四.关闭其他主机ping本主机的配置
有两种方式可关闭ping,一种是修改内核参数,另外一种,修改防火墙配置,建议使用修改防火墙配置的方式
1.安装防火墙服务
注:这是针对CentOS 7+的系统,从7版本开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。所以只要先关闭firewalld服务,再安装iptables服务即可。
(1)、关闭firewall
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
(2)、安装iptables防火墙
yum install -y iptables-services #安装iptables
2.配置关闭ping
vim /etc/sysconfig/iptables #编辑防火墙配置文件
开启ping:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
关闭ping
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
3、重启防火墙
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动