zhangqiang 发表于 2021-8-13 17:03:32

CentOS7修改默认远程端口+免密码登录+禁止root远程登录

  Linux服务器的安全问题一直以来都是运维重中之重,虽然它比windows系统的安全系数好很多,但是不对Linux服务器操作点什么总感觉不是很放心,下面我就给大家介绍一下如何修改修改默认远程端口22、免密码登录以及禁止root远程登录,设置好了这些再加上平时没事多看看日志,我认为安全问题应该可以减少90%以上
  服务器版本:CentOS7.4          远程软件:Xshell
  此教程已通过本人多次尝试没有问题,理论上直接按顺序复制代码然后回车就可以了,如有问题另行讨论。
  重要!如果使用的是云服务器,请在控制台安全组规则添加修改的端口!否则干死也无法使用!
  一:CentOS7修改默认远程端口
  1,vi /etc/ssh/sshd_config---找到#Port22,去掉#后在下方添加一个Port 12137(我的是这个,你随意)
  2,systemctl restart sshd.service---重启SSH服务
  3,firewall-cmd --zone=public --add-port=12137/tcp --permanent---向防火墙中添加端口12137
  4,firewall-cmd --reload---重载防火墙
  5,firewall-cmd --zone=public --query-port=12137/tcp   ---查看端口是否添加成功
  6,yum install policycoreutils-python---安装semanage(先执行semanage命令,如果执行不成功再安装)
  7,semanage port -l | grep ssh---查询当前 ssh 服务端口
  8,semanage port -a -t ssh_port_t -p tcp 12137---向 SELinux(防火墙)中添加 ssh(远程)端口
  9,semanage port -l | grep ssh---验证 ssh 端口是否添加成功
  10,systemctl restart sshd.service---重启 ssh 服务 (如果是阿里云服务器的话,需要控制台安全组规则添加12137端口)
  11,试验一下12137端口能否连上服务器,如果可以删除22端口:
  12,vim /etc/ssh/sshd_config---删除Port22端口
  13,systemctl restart sshd.service---重启SSH服务
  14,firewall-cmd --zone=public --remove-port=22/tcp --permanent--防火墙禁用22端口
  15,firewall-cmd --reload   ---重载防火墙
  二:Xshell免密码远程登录CentOS+禁止root远程登录
  免密码远程登录是和禁止root远程登录时放在一起的,顺序不能改变,一定要先建立一个其他账户进行免密码操作,不能再root目录下直接设置,不然会出现登录不上的情况造成麻烦!(说的啥也听不懂,没关系,跟着我做就好了,因为我也是被坑过的)
  1,打开Xshell,点击工具(tool)-> 新建用户秘钥生成向导(User Key Generation Wizard...)  2,秘钥类型(Key Tpye)->RSA   秘钥长度(Key Length)->3072  3,秘钥名称自拟(比如:neiwang) 密码自拟(建议8位以上无规则大小写字母+数字组合)  4,另存为桌面备用  5, 在服务上添加一个账户,例如waican (一下出现的waican都是基于这个账号名,你自己设置的随意) 并设置密码,不会的话直接运行以下命令就好了吧?
  adduser waican(账户名)
  passwd waican(密码)
  6, 使waican账户有suroot权限(重要):
  vim/etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:  7, 修改完毕,现在可以用waican帐号登录,然后用命令 su root ,即可获得root权限进行操作。
  8, 接下进行免密码操作:
  mkdir /home/waican/.ssh ---在用户目录下创建一个.ssh空文件夹
  touch /home/waican/.ssh/authorized_keys ---创建一个密钥文件
  将秘钥上传到.ssh文件夹(可以用rz命令 安装rz:yum install lrzsz,也可以用ftpshell随便你)
  运行命令cat neiwang.pub 》 authorized_keys  9,测试一下是否可以登录,如果可以就禁用密码登录和禁止root直接远程连接了
  vim /etc/ssh/sshd_config,将PasswordAuthentication参数修改为no ---禁用密码登录。
  #PermitRootLogin yes改为PermitRootLogin no ---禁止root直接远程连接
  保存退出,然后运行命令:systemctl restart sshd.service   刷新服务就可以了
  感谢支持!
  --end--
页: [1]
查看完整版本: CentOS7修改默认远程端口+免密码登录+禁止root远程登录