zoukankan      html  css  js  c++  java
  • 远程控制服务:配置sshd服务,密钥验证登陆

    配置sshd服务

    1、概述:

        SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式。在此之前,一般使用 FTP 或 Telnet 来进行远程登录。但是因为它们 以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中 间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。 想要使用 SSH协议来远程管理Linux系统,则需要部署配置sshd 服务程序。sshd是基于SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:

          ➢ 基于口令的验证—用账户和密码来验证登录;

          ➢ 基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器, 并与服务器中的公钥进行比较;该方式相较来说更安全。

    2、操作步骤:

        2.1第一步:

            修改主配置文件/etc/ssh/sshd_config,配置文件中有许多以 井号开头的注释行,要想让这些配置参数生效,需要在修改参数后再去掉前面的井号。

     

        2.2第二步:

            在 RHEL 7 系统中,已经默认安装并启用了 sshd 服务程序。接下来使用 ssh 命令进行远 程连接,其格式为“ssh [参数] 主机 IP 地址”。要退出登录则执行 exit 命令。 

    例子:

    [root@localhost Desktop]# ssh 192.168.232.151
    root@192.168.232.151's password:
    Last login: Sat Dec 22 16:14:34 2018 from 192.168.232.137
    [root@localhost ~]#

    [root@localhost ~]# exit        #退出ssh
    logout
    Connection to 192.168.232.151 closed.
    [root@localhost Desktop]#

          2.3第三步:功能增强型操作

              如果禁止以 root 管理员的身份远程登录到服务器,则可以大大降低被黑客暴力破解密码 的几率。下面进行相应配置。首先使用 Vim 文本编辑器打开 sshd 服务的主配置文件,然后把 第 48 行左右的#PermitRootLogin yes 参数前的井号(#)去掉,并把参数值 yes 改成 no,这样就不再 允许 root 管理员远程登录了。

    [root@localhost Desktop]# ssh 192.168.232.151
    root@192.168.232.151's password:         #此处我们是输入了正确的密码,但是由于服务器的主配置文件中设置了PermitRootLogin no,不允许 root 管理员远程登录。
    Permission denied, please try again.
    root@192.168.232.151's password:
    Permission denied, please try again.
    root@192.168.232.151's password:

    【注意】一般的服务程序并不会在配置文件修改之后立即获得最新的参数。如果 想让新配置文件生效,则需要手动重启相应的服务程序(systemctl restart sshd)。最好也将这个服务程序加入到开机 启动项中(systemctl enable sshd),这样系统在下一次启动时,该服务程序便会自动运行,继续为用户提供服务。 

    =============================================================================================================================

    SSH安全密钥验证:

    1、概述:

      加密是对信息进行编码和解码的技术,它通过一定的算法(密钥)将原本可以直接阅读 的明文信息转换成密文形式。密钥即是密文的钥匙,有私钥和公钥之分。在传输数据时,如果 担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再行传送。这样, 只有掌握私钥的用户才能解密这段数据,除此之外的其他人即便截获了数据,一般也很难将 其破译为明文信息。既不采用手动输入密码登陆,直接密钥验证登陆,更安全,不容易破解。

    2、配置步骤:

        2.1第一步:在客户端主机中生成“密钥对”。命令:ssh-keygen 

            

       

       2.2第二步:把客户端主机中生成的公钥文件传送至远程主机。命令:ssh-copy-id 192.168.232.151    #注意这个IP地址是将客户机生成的密钥发送到服务器的目标主机IP地址。成功登陆验证过后,便不再需要输入密码验证。

      

        2.3第三步:对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。将PasswordAuthentication yes改成PasswordAuthentication no即可。

             验证:ssh 192.168.232.151

    【注意】客户端生成的公钥和私钥文件存放位置。

  • 相关阅读:
    C#中关于@的用法
    c++ 中__declspec 的用法
    #pragma详细解释(一)
    memmove 和 memcpy的区别
    【niubi-job——一个分布式的任务调度框架】----安装教程
    [异能程序员]第一章 酒后事发(第一更)
    博客园的最后一篇博文,还是要离开了(附带个人博客源码分享)
    五一假期——技术之路上的坎儿
    deerlet-redis-client添加集群支持,邀请各路大神和菜鸟加入。
    从日常开发说起,浅谈HTTP协议是做什么的。
  • 原文地址:https://www.cnblogs.com/python-wen/p/10161714.html
Copyright © 2011-2022 走看看