Linux基础学习(六)

一、系统服务的控制

(一)systemd

            系统初始化程序,系统开始的第一个进程,pid为1

(二)systemctl 命令

        systemctl list-units                         ##列出当前系统服务的状态
        systemctl list-unit-files                         ##列出服务的开机状态
         systemctl status sshd                 ##查看指定服务的状态
        systemctl stop sshd                 ##关闭指定服务
        systemctl start sshd                 ##开启指定服务
        systemctl restart sshd                 ##从新启动服务
        systemctl enable sshd                 ##设定指定服务开机开启
        systemctl disable sshd                 ##设定指定服务开机关闭
        systemctl reload sshd                 ##使指定服务从新加载配置
        systemctl list-dependencies sshd                 ##查看指定服务的倚赖关系
        systemctl mask sshd                 ##冻结指定服务
        systemctl unmask sshd                 ##启用服务
        systemctl set-default multi-user.target         ##开机不开启图形
        systemctl set-default graphical.target         ##开机启动图形
        setterm                         ##文本界面设定color

(三)服务状态

        systemctl status 服务名称
        loaded                                    #系统服务已经初始化完成,加载过配置。
        active(running)                  #正有一个或多个程序正在系统中执行,vsftpd 就是这种模式
        active(exited)                     #仅执行一次就正常結束的服务,
        active (waiting)                  #程序正在等待执行中
         inactive                 ##服务关闭
        enbaled         ##服务开机启动
        disabled                 ##服务开机不自启
        static         ##服务开机启动项不可被管理
        failed         ##系统配置错误

实例:

        systemctl status sshd

        

        systemctl stop sshd    关闭sshd服务之后在使用 systemctl status sshd

     

     systemctl start sshd 开启sshd服务之后再使用systemctl status sshd

    

         systemctl mask sshd 冻结服务后我们再次查看状态

          systemctl unmask sshd 启用服务后再次查看状态


二、openssh-server

(一)客户端连接方式

       功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 

        ssh 远程主机用户@远程主机ip

        第一步:

        我们使用ifconfig 查看当前主机的IP地址,为192.168.3.15

        

        第二步:

                    我们使用ssh root@198.168.3.17 来远程连接我们的另一台虚拟机,它的ip为

            198.168.3.17,之后再通过ifconfig查看当前主机ip,为198.168.3.17

        

        ssh 远程主机用户@远程主机ip -X #调用远程主机图形工具

        ssh  远程主机用户@远程主机ip command #直接在远程主机运行某条命令

(二)sshkey加密    

        1、公匙和秘钥的区别

            公匙可被广泛传播,甚至保存在公共密匙数据库中以被其他Internet用户查阅。私匙属于个

     人信息,绝不应该泄漏给其他人。

            公匙和私匙相互作用对数据进行加密及解密。被公匙加密的数据只能被私匙解密,被私匙加

     密的数据也只能被一个公匙解密。这样就可以实现双重认证 。

             用户在发送关键信息给指定人前,首先使用该用户的公匙对信息进行加密。因为只有使用

     该用户的私匙才能对发送信息进行解密,所以就保证了没有私匙的其他人不会解密信息。

            另外,用户也可以使用他的私匙来加密信息,然后发送给许多人。因为只有使用发送者的公

     匙才能对接收信息进行解密,这样接收者就能确信信息的确来自某个人。

        2、生成公匙秘钥
              [root@server0 ~]# ssh-keygen ##生成公钥私钥工具 
            
                

        [root@server0 ~]# ssh-keygen ##生成公钥私钥工具
        Generating public/private rsa key pair.
        Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)
        Created directory '/root/.ssh'.
        Enter passphrase (empty for no passphrase): [enter] ##密钥密码,必须>4个字符
        Enter same passphrase again: [enter]   ##确认密码
        Your identification has been saved in /root/.ssh/id_rsa.
        Your public key has been saved in /root/.ssh/id_rsa.pub.
        The key fingerprint is:
        ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
        The key's randomart image is:
        +--[ RSA 2048]----+

        我们使用ls /root/.ssh/ 命令查看生成的公匙和秘钥

        

        id_rsa         #私钥,就是钥匙
        id_rsa.pub         #公钥,就是锁

    3、添加key认证方式
           ssh-copy-id -i /root/.ssh/id_rsa.pub  root@192.168.3.17 

            ssh-copy-id                     #添加key认证方式的工具
            -i                             #指定加密key文件
            /root/.ssh/id_rsa.pub             #使用公匙加密,只有拥有该主机该用户私钥的人才可解锁。
            root                     #加密用户为root
            192.168.3.17                     #被加密主机ip

          

    4、分发钥匙给client主机
         scp /root/.ssh/id_rsa root@192.168.3.15:/root/.ssh/

        

        我们再在192.168.3.15的主机的/root/.ssh/目录下查看是否有id_rsa 这个秘钥。

        

        我们再次使用192.168.3.15的主机的对192.168.3.17主机进行远程连接 ssh root@192.168.3.17 

        

        结果如上,因为我们的主机192.168.3.15已经拥有主机192.168.3.17的秘钥,我们可以使用秘钥对其进行远程访问,不需要密码。

5、提升openssh的安全级别
         openssh-server配置文件是 /etc/ssh/sshd_configwo我们打开该配置文件,作如下修改    

            第一个可选配置项

            


            修改完成配置向后,我们必须使用systemctl restart sshd 重启ssh服务,不然会系统不会对一些配置项

     做修改此时我们再使用主机 192.168.3.17来访问这台主机我们看看效果(必须将上一个小章节的实验结果产

     生的公匙和秘钥进行删除)。

            

        如上因为我们192.168.3.15这台主机没有开启用户密码认证,所以我们使用192.168.3.17这个台主机无法连

   接。

       第二个可选配置项

         PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭

        

        之后我们重启sshd这个服务,对文件进行重读。我们再使用主机 192.168.3.17来访问这台主机我们看看效

    果

        

         我们在输入密码之后被提示我们没有权限访问192.168.3.15这个主机的root用户。

        第三个配置项

        

          注意

                当设置用户白名单时,PasswordAuthentication yes|no 这个配置项将不再生效,以白名单为准。

        例如,我们如下图进行配置:

        

       我们先使用ssh student@192.168.3.15 进行远程连接 

        

        之后使用ssh root@172.168.3.15进行连接 发现失败

        

        因此当我们存在白名单时,不在白名单之内的用户都不能被远程访问

        同理我们也存在黑名单,即不在黑名单内的用户都可以被远程主机访问。

         DenyUsers username1 username2 ##用户黑名单

6、ssh登陆提示修改该

       vim /etc/motd ##显示登陆后字符 在这个文件中写入内容后将会显示在登陆者的窗口

        例:我们在192.168.3.15 的主机中的 vim /etc/motd 这个文件中写入 hello word!!! ,在我们使用

    192.168.3.17主机远程访问他的时候,窗口上显示出来

        




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值