欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

CentOS7启用SELinux和Firewall修改ssh端口号

发布时间:2025/3/8 linux 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 CentOS7启用SELinux和Firewall修改ssh端口号 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

基本信息

  • CentOS :CentOS Linux release 7.6.1810 (Core)
  • SELinux:enforced
  • Firewall:enforcing

生成ssh密钥对

  • 生成密钥对 ssh-keygen -t rsa -b 2048 #默认存放的位置是/home/user/.ssh,使用的是公钥id_rsa.pub
  • 从服务器中将私钥复制到本机
  • 或者使用本地生成的密钥对,把公钥复制到服务器中
  • 修改ssh配置文件

  • 备份原文件 cd /etc/ssh && sudo cp sshd_config sshd_config.old
  • 修改ssh配置文件 sudo vi sshd_config 对以下选项进行修改:
  • # 修改端口号 port 9022 # 如果服务器有多个网卡,需要修改ssh服务监听地址 ListenAddress 192.168.0.91 # 禁用ssh root登录 PermitRootLogin no # 错误登录次数 MaxAuthTries 4 # 使用自定义的ssh_key登录 AuthorizedKeysFile /home/user/.ssh/id_rsa.pub # 禁止使用密码和空密码登录 PasswordAuthencation no PermitEmptyPasswords no 复制代码

    添加SELinux策略

  • 如果不添加SELinux策略,启动sshd服务会有Permission denied报错;
  • 查看ssh的SELinux端口 sudo semanage port -l | grep ssh 如果提示没有semanage命令,使用命令sudo yum whatproides /usr/sbin/semanage查看需要安装的软件包; 安装软件包sudo yum install policycoreutils-python -y,之后再重新查看ssh的端口号;
  • 添加策略 sudo semanage port -a -t ssh_port_t -p tcp 9022 sudo semanage port -l | grep ssh
  • 添加Firewall策略

  • 只允许本机或某个网段通过指定的端口号ssh登录到服务器
  • su root firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.90" port port="9022" protocol="tcp" accept' --permanent firewall-cmd --reload firewall-cmd --zone=public --list-all 复制代码

    重启sshd服务

  • 使用systemctl重启sshd服务 sudo systemctl restart sshd
  • 远程ssh登录

  • Linux下ssh登录 ssh -p 9022 user@server_host 或者使用Linux本机下的ssh密钥对 ssh-copy-id user@server_host
  • Windows下ssh登录 使用putty,配置服务器地址和端口号,选择ssh_key验证登录
  • 转载于:https://juejin.im/post/5cbed121f265da03a630d895

    总结

    以上是生活随笔为你收集整理的CentOS7启用SELinux和Firewall修改ssh端口号的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。