Linux初级运维(十九)——Linux日志系统syslog和系统添加SSH服务

一、日志系统

        信息详细程序:日志级别

        子系统:facility,设施

        syslog 

        syslog-n:开源

    1、syslog服务:

            syslogd:系统,非内核产生的信息

            klogd:内核,专门负责记录内核产生的日志信息

        kernel-->物理终端(/dev/console)-->/var/log/dmesg

        # dmeg

        #cat /var/log/dmeg

    2、日志需要滚动(日志切割):    

        messages message.1 message.2 message.3

        /sbin/init

            /var/log/messages: 系统标准错误日志信息:非内核产生引导信息;各子系统产生的信息;

            /var/log/maillog:邮件系统产生的日志信息

    syslog:

        syslogd

        klogd

    3、配置文件:/etc/syslog.conf

         配置文件定义格式为:facillity.priority    action

            facility,  可以理解为日志的来源或设备目前常用的facility有以下几种

                auth               #认证相关的

                authpriv         #权限,授权相关的

                cron                #任务计划相关的

                deamon            #守护进程相关的

                 kern                #内核相关的

                lpr                    #打印相关的

                mail                #邮件相关的

                mark                #标记相关的

                news                #新闻相关的

                security            #安全相关的,与auth类似

                syslog               #与syslog自己的

                user                 #用户相关的

                uucp                #unix to unit cp 相关

                local0 到local7 # 用户自定义使用

                *                       #*表示所有的facility

        priority(log level)日志的级别,一般有以下几种级别(从低到高)

                debug            #程序或系统的调试信息

                info                #一般信息

                notice            #不影响正常

                warning/warn     #可能影响系统功能,需要注意的消息

                err/error              #错误信息

                crit                    #比较严重的

                alert                    #必须马上处理的

                emerg/oanic        #会导致系统不可用的

                *                            #表示所有的日志级别

                none                     #跟*相反,表示啥也没有

         action(动作)日志记录的位置

                系统上的绝对路径        #普通文件  如:/var/log/xxx

                |                                 #管道  通过管道送给其他的命令处理

                终端                            #终端    如: /dev/console

                @HOST                      #远程主机 ,如: @10.0.0.1   

                用户                            #系统用户  如:root

                *                                 #登录到系统上的所有用户,一般emerg级别的日志是这样的定义的

            

            定义格式例子:

                mail.info        /var/log/mail.log        #表示将mail相关的,级别为info及

                                                                         #info以上级别的信息记录到/var/log/mail.log文件中

                auth.=info      @10.0.0.1                  #表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去

                                                                         #前提是10.0.0.1要能接收其他主机发来的日志信息

                user.!=error                                        #表示记录user相关的,不包括error级别的信息

                user.!error                                          #与user.error相反

                *.info                                                 #表示记录所有的日志信息的info基本

                mail.*                                                 #表示记录mail相关的所有级别的信息

                *.*                                                        #记录所有信息

                cron.info;mail.info                                #多个日志来源可以用“;”隔开

                mail.*;mail.!=info                                 #表示记录mail相关的所有级别的信息,但是不包括info级别的。

二、SSH服务

        telnet:远程登录协议,tcp 应用层协议  默认端口是23端口

            C/S 架构:    S:telnet服务器     C:telnet客户端

        ssh: Secure SHell  ,也是一种协议,tcp应用层协议,默认端口是22端口

            通信过程及认证过程都是加密的,可以进行主机认证

            用户认证过程加密

            数据传输过程加密

        ssh  v1,v2 两个版本。ssh v1 现在已经不安全,使用sshv2版本

    1、认证过程

            基于口令认证

            基于密钥认证

        协议:规范

        实现:服务器端、客户端

    2、Linux:openSSH

            C/S

                服务器端:sshd,配置文件/etc/ssh/sshd_config

                客户端:ssh,配置文件 /etc/ssh/ssh_config

                        ssh-keygen: 密钥生成器

                        ssh-copy-id :将公钥传输至远程服务器

                        scp:跨主机安全复制工具

        ssh 指定用户登录:

            ssh    USERNAME@HOST

            ssh    -l     USERNAME    HOST

            ssh USERNAME@HOST    'COMMAND'


        scp: 远程复制

            scp SRC DEST 

                -r   递归复制

                -a

            scp USERNAME@HOST:/path/to/somefile    /path/to/local

            scp /path/to/local    USERNAME@HOST:/path/to/somewhere

    

        ssh-keygen

            -t rsa

                ~/.ssh/id_rsa

                ~./ssh/id_rsa.pub

            -f /path/to/KEY_FILE

            -p '': 指定加密私钥的密码


            公钥复制到远程主机某用户的家目录下的.ssh/authorized_keys文件或.ssh/authorized_keys2文件中

            ssh-corp-id

                -i ~/.ssh/id_rsa.pub

                ssh-corp-id -i ~/.ssh/id_rsa.pub USERNAME@HOST

    3、dropbear:嵌入式系统专用的ssh服务器端和客户端工具

                服务器端:dropberar

                                dropbearkey

                客户端:dbclient

            dropbear 默认使用neewith 实现名称解析

                    /etc/nsswitch.conf

                    /lib/libnss_files*

                    /usr/lib/libnss3.so

                    /usr/lib/libnss_files*


            dropbear会在用户登录检查其默认shell是否当前系统的安全shell

                    /etc/shells


            主机密钥默认位置:

                    /etc/dropbear_rsa_host_key

                        长度可变,只要是8的整数倍,默认为1024

                    DSS:dropbear_dss_host_key

                         长度固定,默认是1024

                dropbearkey

                        -t rsaldsa

                        -f  /path/to/KEY_FILE

                        -s  SIZE

        

                    

        

            

            

                    

                          


    

        

猜你喜欢

转载自blog.51cto.com/5001660/2346894