首页 > 技术文章 > Linux从入门到精通——控制服务

wf-aiyouwei 2018-07-25 13:55 原文

####控制服务###
1.什么是服务
       
2.用什么控制服务
    系统初始化进程可以对服务进行相应的控制

3.当前系统初始化进程是什么
    systemd   ##系统初始化进程
    pstree    ##显示系统中的进程树

4.进程控制命令
    ssh ————> sshd
       client    server
  相当于:微信     腾讯
   
    systemctl   ##服务控制命令
    systemctl status sshd   ##查看服务状态
          inactive(不可用)   active(可用)
    systemctl   start   sshd    ##开启服务
    systemctl   stop    sshd    ##关闭服务

                                          

    systemctl   restart sshd    ##重启服务
    systemctl   reload  sshd    ##重新加载服务配置
    systemctl   enable  sshd    ##设定服务开机启动
    systemctl   disable sshd    ##设定服务开机不启动
    systemctl   list-units  ##列出已经开启服务当前状态
    systemctl   list-unit-files ##列出所有服务开机启动的状态 disable,enable,static
    systemctl   list-dependencies   ##列出服务的倚赖
    systemctl   set-default multi-user.target
                   ##设定系统启动级别为多用户模式(无图形)
    systemctl   set-default graphical.target   
                   ##设定系统启动级别为图形模式
    
     【更改ip:nm-connection-editor】

5.ssh服务
   (1).sshd的简介

    SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。

ssh服务端由2部分组成: openssh(提供ssh服务)    openssl(提供加密的程序)。ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接

    1.SSH是安全的加密协议,用于远程连接Linux服务器                
    2.SSH的默认端口是22,安全协议版本是SSH2                
    3.SSH服务器端主要包含2个服务功能SSH连接和SFTP服务器                
    4.SSH客户端包含ssh连接命令和远程拷贝scp命令等 

    sshd = secure shell
    可以通过网络在主机中开启shell的服务

         注意:在服务端要开启sshd服务,如果不开启的话,就直接会被Permission denied
  
        客户端软件  sshd
         链接方式:
         ssh username@ip   ##文本模式的链接
         ssh -X username@ip  ##可以在链接成功后开启图形

                                        

 


        

         注意:第一次链接陌生主机时要建立认证文件,所以会询问是否建立,需要输入yes。再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes

         如果不加username,会在登陆远程主机的时候,使用和当前用户一样的用户登陆
   
    远程复制:
       scp file root@ip:dir    ##上传
       scp root@ip:file dir    ##下载

          

 

    (2).sshd的key认证
       1)生成认证KEY   ssh-keygen
       2)加密sshd服务  ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.210
    authorized_keys 此文件出现表示加密完成
       3)分发钥匙   scp /root/.ssh/id_rsa root@172.25.254.110:/root/.ssh/
       4)测试   【在客户主机中】 
         ssh root@172.25.254.210
        ##链接时发现直接登陆不需要root登陆系统的密码认证,用于不给超级用户密码,但是让特定拥有钥匙的人登陆。当钥匙被删除时,再要远程控制的话,就必须知道密码

    

   

 

    (3).sshd的安全设定    vim /etc/ssh/sshd_config    

    注意:下面的步骤,在修改完成以后要restart一下ssh

           PasswordAuthentication yes|no
           ##是否允许用户通过登陆系统的密码作sshd的认证,把这个关闭以后,没有密钥的情况下,直接显示要求被拒绝,不会显示要求输入密码

          

      PermitRootLogin yes|no
            ##是否允许root用户通过sshd服务的认证,当PasswordAuthentication为yes时,将这一项设置为no,就算是密码输入正确也不能登陆root

   

      Allowusers student westos
         ##设定用户白名单,白名单出现,默认不在白名单中的用户不能使用sshd。远程客户端只能登陆服务器的设定的用户,白名单之外的不能登陆即使密码正确。
       【重点:不是用客户端的白名单内的用户去登陆服务器的任意用户。】

                                         

      Denyusers student
         ##设定用户黑名单,黑名单出现,默认不在黑名单中的用户可以使用sshd   


                   【ssh远程访问虚拟并登陆主机】
                   【active有running,waitting,exited】
  
    (4)添加sshd登陆信息 
      vim /etc/motd  ##文件内容就是登陆后显示的信息
    (5)用户的登陆审计
   
      1)w     ##查看正在使用当前系统的用户
            -f     ##查看使用来源
            -i     ##显示ip
                       /var/run/utmp 
      2)last  ##登陆并退出的用户
                      /var/log/wtmp
      3)lastb ##试图登陆但是没成功的用户
                /var/log/btmp

    

 

   【查看电脑ip】 ifconfig
   【更改电脑名称】hostnamectl set-hostname server.example.com


推荐阅读