远程控制服务:配置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

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

 

posted @ 2018-12-22 17:12  802.11  阅读(888)  评论(0编辑  收藏  举报