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

     

  • 相关阅读:
    Visual Studio 2010使用Visual Assist X的方法
    SQL Server 2000 评估版 升级到 SQL Server 2000 零售版
    双网卡多网络单主机同时访问
    开发即过程!立此纪念一个IT新名词的诞生
    delphi dxBarManager1 目录遍历 转为RzCheckTree2树
    5320 软件集合
    delphi tree 从一个表复制到另一个表
    DELPHI 排课系统课表
    长沙金思维 出现在GOOGLE的 金思维 相关搜索里啦!!
    如何在DBGrid的每一行前加一个单选框?
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/11166022.html
Copyright © 2011-2022 走看看