zoukankan      html  css  js  c++  java
  • Linux SSH 连接安全设置

    一.更换端口, 可以在一定程度上防止扫描攻击

      vim /etc/ssh/sshd_config

      将 port 一项从 22 更改为高位端口, 然后重启 ssh 服务

      systemctl restart sshd.service

     

    二.禁止使用root账号登录, 允许使用root账号登录服务器是一个极其危险的行为!

      vim /etc/ssh/sshd_config

      MaxAuthTries 3    # 限制失败次数

        PermitRootLogin no # 禁止使用root账号登录

      重启 ssh 服务

     

    三.关闭密码登录, 防止暴力攻击, 使用 非对称密钥对进行身份认证

      vim /etc/ssh/sshd_config

      RSAAuthentication  yes  # 开启RSA验证

      PubkeyAuthentication   yes  # 是否使用公钥验证

      AuthorizedKeysFile  .ssh/authorized_keys  # 保存公钥的文件的位置, 这里就是登录用户的家目录下的 .ssh目录, 可以根据自己的实际情况进行配置

      PasswordAuthentication  no  #禁止使用密码验证登陆

     

    四.生成公钥私钥, 将公钥上传到服务器   

      1、确认服务器都已都已安装了ssh服务

      2、在本机上创建密钥对
        ssh-keygen -t rsa

        1).注意查看提示,如果出现提示系统已经生成了ssh-key,则不必生成

        2).如果需要重新生成ssh-key,所有的提示按enter键即可,也可以根据自己的需要输入自己的选项

        3).注意提示保存ssh-key的存放目

        4).完成以后进入到保存ssh-key的目录, 就可以看到id_rsaid_rsa.pub文件

      3、把公钥的内容追加拷贝到服务器上登录用户的家目录下的.ssh目录下的authorized_keys 文件(具体将公钥追加拷贝到那个文件, 根据ssh的配置文件的实际配置而定)

      4systemctl restart sshd.service  # 重启ssh服务


    再次使用ssh远程连接服务器, 发现已不需要输入密码进行验证

     

    注意: 如果使用ssh进行远程登录时 使用了sudo 超级管理员权限, 那么私钥就是当前服务器的root用户的私钥, 所以,也就是说需要把当前服务器root用户的公钥上传到目标服务器,才可以使用 sudo 超级管理员权限, 否则仍然需要输入密码(如果开启了允许输入密码进行身份验证)

     

  • 相关阅读:
    个人收藏Sql
    使用Linq生成分类Json数据
    报表分页的页眉或页脚字段有的不显示
    工作流添加跟踪后,实例一启动就会自动关闭
    委托能不能序列化
    iframe加载完成后操作contentDocument
    WCF 异步调用
    自定义控件如何嵌入javascript 文件
    ReportViewer 使用DataSet 结构 与 linQ 填充 DataSet数据
    vs 2008 不能切换到设计视图的解决办法
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/11166022.html
Copyright © 2011-2022 走看看