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

        

                    

        

            

            

                    

                          


    

        

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章