服务器配置用户信息、ssh免密码登录和防火墙等安全配置

一、登录服务器

      1、回到根目录 cd ~ 

      2、ssh + 用户名@服务器公网地址 ssh root@47.94.208.76

      3、输入密码:注意输入法大小写

二、查看服务器信息

      df -h  查看数据盘的文件空间剩余信息

    fdisk -l   查看磁盘信息

  用户列表文件:/etc/passwd
  用户组列表文件:/etc/group

  查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
  查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
  查看用户操作:w命令(需要root权限)
  查看某一用户:w 用户名
  查看登录用户:who
  查看用户登录历史记录:last

三、登出服务器

  contrl + d

四、shell小工具zsh安装

  1、安装方法见官网:https://ohmyz.sh/

  2、vim .zshrc 打开zsh配置文件

  3、在最后一行添加别名:alias login_root="ssh root@47.94.208.76"

  4、保存并退出后 source .zshrc 重新加载文件资源

  5、在命令行输入login_root  会直接跳到ssh root@47.94.208.76 登录

五、添加和配置新的用户信息

  1、useradd system_manager 添加新用户

  2、passwd system_manager 设置用户密码

  3、groupadd sudo  创键组

  4、gpasswd -a system_manager sudo 将用户追加到组

  5、sudo visudo  打开配置文件

  6、增加system_manager ALL=(ALL) ALL  使用户有和root一样的权限

  7、在root用户下重启 systemctl restart sshd

六、登录新用户

  1、command+t 新开一个命令行

  2、ssh system_manager@47.94.208.76  登录新用户

七、配置ssh实现无密码登录

  本地私钥--本地传到服务器的公钥--密钥算法比对--登录成功

  1、进入本地根目录,找到.ssh文件夹

    cd ~

    ls -a

    cd .ssh

    会看到如下文件,其中id_rsa为私钥,id_rsa.pub为公钥

  2、将以上两个文件重命名,如果之前已经生成过私钥和公钥,先把他们备份下来:

    mv id_rsa id_rsa_copy

    mv id_rsa.pub id_rsa_copy.pub

  3、回到根目录cd ~  配置:

    ssh-keygen -t rsa -b 4096 -C "1095098525@qq.com"   密码提示一直回车就行    

  4、回到.ssh文件夹下,看到生成了两个文件,就是私钥和公钥:

  5、在.ssh文件夹下,查看私钥和公钥

    cat id_rsa

    cat id_rsa.pub    

  6、在.ssh文件夹下,将ssh代理跑起来:

    eval "$(ssh-agent -s)"

  7、在.ssh文件夹下,将文件加入代理中:

    ssh-add ~/.ssh/id_rsa    

  8、登录服务器,重复在本地电脑生成私钥和公钥的步骤。

  9、在服务器的.ssh文件夹下,查看是否存在权限文件(只对当前用户有效)。

  10、将本地电脑的公钥(id_rsa.pub)复制到服务器的authorized_keys文件夹里面。

  11、在服务器的.ssh文件夹下,赋予权限的操作:chmod 600 authorized_keys

  12、在服务器的.ssh文件夹下,重启ssh服务:systemctl restart sshd

  13、重新登录root用户,就可以不用输入密码直接登录啦,其他用户同样的方式!

八、增强服务器安全配置

  1、用root账号登录,保持登录状态,避免用新的端口登录不成功而导致无法登陆服务器。

    在服务器管理后台添加端口

    

 

  2、command+t 新开一个控制台窗口,用system_manager登录下:

    sudo vi /etc/ssh/sshd_config  打开ssh配置文件

  3、修改端口:保留22端口  添加port: 8290

    

  4、在最后一行添加:AllowUsers system_manger

  5、禁止root账号登录:

    将上图PermitRootLogin 改成no

  6、重启:

     sudo systemctl restart sshd 

  7、用新的端口登录

    ssh -p 8290 system_manager@47.94.208.76

      如果报错信息,可在另一个已经登录的账号下将/etc/ssh/sshd_config文件复原,采用默认的22端口,也可以在阿里云管理终端登录修改

  配置防火墙部分:

  8、由于在Centos7下,默认有firewalld,打开防火墙,发现用此端口登录不上:

    systemctl start firewalld

  9、查看端口8290是否开启;

    firewall-cmd --query-port=8290/tcp   返回no  说明没有开启

  10、防火墙永久开启端口:

    firewall-cmd --zone=public --add-port=8290/tcp --permanent

    命令含义 : --zone #作用域 , --add-port=80/tcp #添加端口 , 格式为 : 端口/通讯协议 , --permanent #永久生效 , 没有此参数重启后失效

  11、重启防火墙:

    firewall-cmd --reload    

  12、关闭端口命令:firewall-cmd --zone=public --remove-port=3306/tcp --permanent

  13、查看防火墙状态: systemctl status firewalld

  14、开启防火墙开机自启动:systemctl enable firewalld

  15、停止开机启动:sytemctl disable firewalld

  16、查看防火墙永久开放的端口: firewall-cmd --permanent --list-port

  17、查看防火墙配置信息列表: firewall-cmd --list-all

   禁用22端口,只允许用新端口登录:

  firewall-cmd --query-port=8290/tcp    返回 yes 说明此端口防火墙开通

  修改vi /etc/ssh/sshd_config    ssh配置文件  将22端口删除

  重启ssh: ystemctl restart sshd

  用新的端口登录 ssh -p 8290 root@47.94.208.76

 九、管理终端远程登录:

  https://help.aliyun.com/document_detail/25433.html?spm=a2c4g.11186623.2.14.f8de7c60SVNZdE

十、ubantu下用iptables建立防火墙 

  1、清空 iptables 规则: iptables -F

  2、vim /etc/iptables.up.rules

*filter
#allow all connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 #mongodb connect
 -A INPUT -s 127.0.0.1 -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
 -A OUTPUT -d 127.0.0.1 -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

#allow out traffic
-A OUTPUT -j ACCEPT

#allow http https
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT

#allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 8290 -j ACCEPT

#ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

#log dejied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7

#drop incoming sensitive connections
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP

#reject all other inbound
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT

3、iptables-restore < /etc/iptables.up.rules

4、ufw enable

5、ufw status

6、vi /etc/network/if-up.d/iptables

#!/bin/sh
iptables-restore /etc/iptables.up.rules

7、chmod +x /etc/network/if-up.d/iptables

8、ubantu用apt-get安装fail2ban

  service fail2ban status

  service fail2ban stop

  service fail2ban start

posted @ 2018-12-05 17:35  雨水一盒~  阅读(1022)  评论(0编辑  收藏  举报