zoukankan      html  css  js  c++  java
  • centos8上配置openssh的安全

    一,openssh服务版本号的查看

    1,查看当前sshd的版本号 :

    [root@yjweb ~]# sshd --help
    unknown option -- -
    OpenSSH_7.8p1, OpenSSL 1.1.1 FIPS  11 Sep 2018

    说明:sshd没有专门的打印版本号和帮助文档的命令,

             当参数不正确时会自动打印这些信息

    2,查看当前ssh客户端程序的版本号

    [root@yjweb ~]# ssh -V
    OpenSSH_7.8p1, OpenSSL 1.1.1 FIPS  11 Sep 2018

    说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

     说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,修改sshd的配置文件后,如何测试是否有效?

    在重启 sshd 前检查配置文件的有效性和密匙的完整性,运行:

    [root@yjweb ~]# sshd -t

    无反馈则表示配置文件无问题 

    三,openssh的安全配置

    编辑 配置文件:

    [root@yjweb ~]# vi /etc/ssh/sshd_config

    内容包括:

    1,禁止使用root登录ssh

    #PermitRootLogin yes
    PermitRootLogin no

    说明:默认值是yes,要修改为no

    2,修改默认端口,不使用22,避免受到攻击

    #Port 22
    Port 31234

    3,新添加一行:只允许指定的用户登录

    AllowUsers webop

    4,禁止密码登录:

    PasswordAuthentication no

    说明:要启用这一项,需要先配置可登录到server的密钥

    四,修改配置后重启openssh

    [root@yjweb ~]# systemctl restart sshd 

    五,禁止root登录之后,再次用root连接ssh服务会提示报错:

    [SSH] FAIL: x.x.x.x:22 - Connection refused

    x.x.x.x是服务器的ip

    说明:如果使用云服务器ecs,请注意修改服务器的安全规则,

            在安全规则中增加我们为sshd修改的端口,

            因为安全规则比我们自己的防火墙规则位于更外层

    六,如果禁用密码登录,则需要设置密钥ssh登录:

    1,在ssh客户端生成密码钥对

    [root@yjweb ~]# ssh-keygen -t rsa

    说明:中间一路回车即可,

    不要设置密码

    -t参数可以指定四种算法类型

    [-t dsa | ecdsa | ed25519 | rsa]

    我们选择 rsa

    说明:查看参数可以使用通用的帮助命令:

    [root@yjweb ~]# man ssh-keygen 

    密钥生成后,可以从用户的home目录下.ssh目录看到

    [root@yjweb ~]# ls .ssh/
    authorized_keys  id_rsa  id_rsa.pub  known_hosts

    2,复制公钥到ssh服务器

    用ssh-copy-id命令复制

    [root@yjweb ~]# ssh-copy-id -i .ssh/id_rsa.pub root@121.122.123.134
    /bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
    /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    root@121.122.123.134's password:
    Number of key(s) added: 1
    Now try logging into the machine, with:   "ssh 'root@121.122.123.134'"
    and check to make sure that only the key(s) you wanted were added.

    登录到ssh服务器,查看authorized_keys

    [root@os3 ~]# more .ssh/authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDiZNKuLsJqi0M......

    可以看到我们在a服务器的公钥已经成功添加到了ssh服务器的 authorized_keys文件上

    3,登录时需要指定私钥文件的路径

    如果你的私钥位于你当前账号的home目录下的.ssh文件夹下,这个是默认位置,即你没有改动过私钥文件的位置,则可以直接ssh,无需指定文件路径

    例如:

    [root@yjweb ~]# ssh root@121.122.123.134
    Last login: Wed Mar 18 18:53:07 2020 from 121.105.107.47
    [root@os3 ~]#

    如果密钥的路径改名过或在特定目录,则需要指定位置,

    用 -i参数即可

    [root@yjweb ~]# ssh -p 1234 -i /root/testsshkey root@121.122.123.134
    [root@os3 ~]#

     七,查看当前的centos版本

    [root@yjweb ~]# cat /etc/redhat-release
    CentOS Linux release 8.0.1905 (Core)
  • 相关阅读:
    flex + bison multiple parsers
    Educational Codeforces Round 95 (Rated for Div. 2)
    python学习笔记 day20 序列化模块(二)
    python学习笔记 day20 常用模块(六)
    python 学习笔记 常用模块(五)
    python学习笔记 day19 常用模块(四)
    python学习笔记 day19 常用模块(三)
    python学习笔记 day19 常用模块(二)
    python学习笔记 day19 作业讲解-使用正则表达式实现计算器
    python学习笔记 day19 常用模块
  • 原文地址:https://www.cnblogs.com/architectforest/p/12522374.html
Copyright © 2011-2022 走看看