LINUX系统管理员--->2.2Linux中的远程登陆服务

目录

一.Openssh的功能

二.ssh远程登陆服务 :

三.sshd key :

四.sshd 安全优化参数详解:


一.Openssh的功能

1.sshd服务的用途
    作用:可以实现通过网络在远程主机中开启shell的操作
       Secure SHell        ==>    ##客户端
       Secure SHell daemon    ==>    ##服务端

 2.安装包
    openssh-server

3.主配置文件
    /etc/ssh/sshd_conf

 4.默认端口
    22

5.客户端命令
    ssh

二.ssh远程登陆服务 :

    1. 步骤 : 首先准备两台全新的虚拟机,并且将其ip设定成 172.25.254.123   和  172.25.254.223

然后在真机中分别链接两台虚拟机

 第一次链接会提示错误或者让输入虚拟机密码 ,我这里的错误显示未文件中的第四行有错误,我们只需要编辑文件将第四行内容删掉即可:

 2. ssh常用参数
        -l          ##指定登陆用户
        -i          ##指定私钥
        -X        ##开启图形
        -f          ##后台运行
        -o         ##指定连接参数  #ssh -l root 172.25.254.xxx -o "StrictHostKeyChecking=no" 首次连接不需要输入yes
        -t          ##指定连接跳板  #ssh -l root 172.25.254.123 -t ssh -l root 172.25.254.223 连接123跳板连接223


 

 三.sshd key :

1. 对称加密 :加密和解密是同一字符串
               容易泄漏
               可暴力破解
               容易遗忘
    非对称加密:加密用公钥,解密用私钥
               不会被盗用
               攻击者无法通过无密钥方式登陆服务器

#方法1 :
     $ ssh-keygen (生成钥匙)
       Generating public/private rsa key pair.
       Enter file in which to save the key (/root/.ssh/id_rsa):         ##输入保存密钥文件
       Enter passphrase (empty for no passphrase):                      ##密钥密码
       Enter same passphrase again:                                               ##确认密码
       Your identification ...                                                                 ##私钥
       Your public ...                                                                             ##公钥
       The key ...      
     
 #方法2 : ssh-keygen -f /root/.ssh/id_rsa -P ""                       ##给定文件保存位置和密码,自动化设定公钥密钥(公钥和密钥的设定可以在任意主机下) 创建锁
                   ssh-copy-id -i /root/.ssh/id-rsa.pub root@172.25.254.123     ##将公钥发送到123主机,实现上所           ##将锁给另一台主机,并且将其所上,这样我们就还有私钥
             ssh -l /root/.ssh/id_rsa -l root 172.25.254.123                             ##用私钥将公钥打开,这样以后就不需要密码了

【步骤:】 首先我们准备两台虚拟机,并且将虚拟机a当作服务器(ip为172.25.254.123),将虚拟机b(ip为172.25.254.223)当作 客户端

 我们可以在虚拟机b上输入ssh -l root 172.25.254.123来通过root用户连接到虚拟机a中,但是我们要认证root用户在虚拟机a上的密码才可以远程登陆,这种认证方式时服务器提供给我们最原始的认证方式,这种认证方式为对称加密。

  公钥和私钥的制作无论是在服务器还是客户端中都是可以制造的,这里我们举例在虚拟机b(客户端)创建钥匙,然后第二行会显示我们需要将钥匙存入哪个文件,虽然保存的位置我们可以自定义,但是建议大家直接回车选用默认的存储方式,因为自定义存储方式会更改系统默认的ssh权限,用起来比较麻烦,第三行显示的内容需要我们再次输入密码,这就好比保险柜需要指纹认证也需要钥匙开启,我们这里直接回车不需要设定密码,相当于免密认证,只要有密钥我们就可以登陆

  然后我们就成功生成了公钥(/root/.ssh/id_rsa.pub) 和私钥(/root/.ssh/id_rsa),公钥用来上锁,私钥用来解锁

 然后查看公钥和私钥的文件是否生成,就相当于我们在商店已经买好了锁了,接下来就需要给我们的门上上锁了

 再者我们可以使用方法二来生成私钥和公钥,我们可以直接输入 ssh-keygen -f /root/.ssh/id_rsa -P "" 这样我们就可以直接指定钥匙存放的目录以及免密认证

然后我们就可以对我们的虚拟机a进行上所,等同于我们买好了锁给家里的门上锁

这里我们在虚拟机b中输入命令,对虚拟机a中的root用户进行上锁,如果需要锁别的用户可以换将root换成别的用户,然后我们就可以在虚拟机a中看到我们的ssh目录中多出来一个authorized_keys文件,这就是我们上的锁

 然后我们可以实验我们是否完成了实验,通过虚拟机b链接虚拟机a我们就可以直接链接不需要输入密码了

  

四.sshd 安全优化参数详解:

首先我们需要检查实验环境: 

        输入命令 :getenforce    ##查看当前SElinux的模式应用 (强制 执行 停用)
        如果显示Enforcing   ##表示服务开启,我们应当关闭它
        继续输入setenforce 0    ##表示停止其服务
        然后我们关闭防火墙 systemctl disable --now firewalld
        在重启服务 systemctl restart sshd这样我们的实验环境就配置完成了

实验步骤: 首先我们  rpm -qc openssh-server    ##查找优化所需要的文件

                 然后编辑其中的文件 vim /etc/ssh/sshd_config 

                 第一种安全优化的方法,我们可以在文章中的74行中将通过密码的方式连接电脑的命令将其关闭,将yes改为no,这样我们就无法通过输入密码的方式连接到这台主机了

                 然后如果我们主机b没有主机a的密钥的情况下,如果想要连接主机a,那么就无法连接,连输入密码的权力已经没有了

                第二种安全优化的方法,我们首先应当应当查看getenforce查看linux应用模式,然后setenforce 0关闭其服务,并且关闭服务器(主机a)的防火墙,我们也可在文件 vim /etc/ssh/sshd_config中的 17行将其默认的端口号22改变成自己想要的端口号,然后重启sshd服务,我们这里以2021为例,然后取消注释

这样我们就无法通过原始的连接连接到我们的服务器了,我们只能输入相对应的端口号进行连接

                 第三种安全优化方法就是我们在文件 vim /etc/ssh/sshd_config中的 50行左右编写黑白名单, 白AllowUsers user1 user2 或者黑名单DenyUsers user1 user2 

这个白名单的意思是系统中只有westos用户可以使用远程连接连接到服务器,

         我们可以发现我们用电脑b的root用户无法连接服务器(电脑a),即使输入了正确的密码,而我们使用westos用户输入密码后就可以正常的连接

这个黑名单的意思是系统中除了lee用户其他的用户都可以使用远程连接连接到服务器,

 我们可以发现使用root用户可以正常连接服务器,但是我们使用lee用户即使输入了正确的密码依然无法连接服务器。

**注意:这里我们需要注意的事是如果我们一旦设定了白名单之后,黑名单就会实效,我们白名单加入的用户之外的其他用户就自动的进入了黑名单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值