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

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

  • 相关阅读:
    【数据分析】6 点发的文章在博客园阅读量最高?
    canvas api 速记
    leetcode 315. Count of Smaller Numbers After Self 两种思路
    一道闭包题题解
    一道经典JS题(关于this)
    HTML5 — 让拖放变的流行起来
    你应该知道的25道Javascript面试题
    关于base64编码的原理和实现
    Python中的None
    Python字符编码和转码
  • 原文地址:https://www.cnblogs.com/python-wen/p/10161714.html
Copyright © 2011-2022 走看看