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 超级管理员权限, 否则仍然需要输入密码(如果开启了允许输入密码进行身份验证)

     

  • 相关阅读:
    Secret-field团队 Alpha冲刺阶段博客记录
    alpha阶段测试报告
    第七周会议记录
    第六周会议记录
    《Secret—field团队》第一次作业:公课网课程评价系统
    linux下用hadoop streaming 跑php总是jobs fail!
    php请求nginx服务器返回403
    Linux达人养成计划I——文件搜索命令
    Linux达人养成计划I——链接命令
    Linux达人养成计划I——常见目录作用
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/11166022.html
Copyright © 2011-2022 走看看