1. 程式人生 > >Linux(RadHat)基礎學習—系統服務控制及sshd服務

Linux(RadHat)基礎學習—系統服務控制及sshd服務

遠程 51cto 確認密碼 指定 認證 當前 開始 oot conn

1.系統服務

1.什麽是服務

系統服務(system services)是指執行指定系統功能的程序、例程或進程,以便支持其他程序,尤其是底層(接近硬件)程序。通過網絡提供服務時,服務可以在Active Directory(活動目錄)中發布,從而促進了以服務為中心的管理和使用。

2.控制服務

1.systemd
    系統初始化程序,系統開始的第一個進程,pid為1
2.pstree
    顯示系統中的進程樹
3.systemctl 命令(服務控制命令)
    systemctl status sshd            查看指定服務狀態
    systemctl start sshd              開啟指定服務
    systemctl stop sshd               關閉指定服務
    systemctl restart sshd          從新啟動服務
    systemctl reload sshd           使指定服務從新加載配置
    systemctl mask sshd          凍結指定服務
    systemctl unmask sshd       啟用服務
    systemctl enable sshd           設定指定服務開機開啟
    systemctl disable sshd         設定指定服務開機時不啟動
    systemctl list-units                              列出當前系統所有開啟的服務的狀態
    systemctl list-unit-files                       列出所有服務的開機狀態
    systemctl list-dependencies sshd    查看指定服務的倚賴關系
    systemctl set-default multi-user.target   設定系統啟動時為多用戶級別(不開啟圖形模式)
    systemctl set-default graphical.target     設定系統啟動時級別為圖形模式
    setterm命令                   文本界面相關顏色設定

3.服務狀態

systemctl status 服務名稱

loaded                      系統服務已經初始化完成,加載過配置
active(running) 正有一個或多個程序正在系統中執行,
                                     vsftpd 就是這種模式
atcive(exited)      僅執行一次就正常結束的服務,
                                     目前並沒有任何程序在系統中執行
atcive(waiting)     正在執行當中,不過還再等待其他的事件才能繼續處理
masked      服務凍結
inactive        服務關閉
enbaled     服務開機啟動
disabled       服務開機不自啟
static          服務開機啟動項不可被管理
failed          系統配置錯誤

舉一個栗子:查看火墻狀態
技術分享圖片

2.sshd服務

為了方便實驗,將兩臺虛擬機改名分別為desktop和server

查看當前主機名:hostname
更改主機名字:hostnamectl set-hostname 主機名
ps:在更改後立即生效,但需要另外打開一個shell或重新打開一個shell才能看到名字更改

1.sshd簡介

sshd = secure shell
功能:讓遠程主機可以通過網絡訪問sshd服務,開始一個安全shell
 sssh ------------------> sshd
client端                    server端

2.客戶端連接方式

ssh 遠程主機用戶@遠程主機ip                        文本模式(命令行)
ssh 遠程主機用戶@遠程主機ip   -X                 可以開啟圖形界面
ssh 遠程主機用戶@遠程主機ip   command   直接在遠程主機運行某條命令
註意:第一次連接陌生主機時需要建立認證文件,所以會詢問是否建立,輸入yes確認
      再次連接此主機時,因為生成~/.ssh/know_hosts文件,故沒有詢問

技術分享圖片

Are you sure you want to continue connecting (yes/no)? yes  ----------> 第一次連接陌生主機時需要建立認證關系
Warning: Permanently added ‘172.25.254.77‘ (ECDSA) to the list of known hosts.
[email protected]‘s password:  -----------> 遠程用戶密碼
Last login: Mon Oct  3 03:13:47 2016
[root@server0 ~]#           ----------> 登陸成功

3.ssh的key加密

1.生成公鑰私鑰

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 [email protected]
The key‘s randomart image is:
......

技術分享圖片
查看生成的文件:
技術分享圖片
其中:

id_rsa          ##私鑰,就是鑰匙
id_rsa.pub  ##公鑰,就是鎖

2.添加key認證方式(加密服務)

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
技術分享圖片
解釋:

ssh-copy-id     ##添加key認證方式的工具
-i          ##指定加密key文件
/root/.ssh/id_rsa.pub   ##加密key
authorized_keys     ##出現這個文件表示加米完成
root            ##加密用戶為root
172.25.254.77       ##被加密主機ip

3.分發鑰匙給client主機(這裏即時desktop虛擬機)

scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
此時在desktop虛擬機的/root/.ssh/目錄下就有一個私鑰了
技術分享圖片

4.測試

 ssh [email protected]     ##客戶機(即desktop)連接服務機(server)通過id_rsa直接連接不需要輸入用戶密碼

技術分享圖片

4.提升ssh的安全級別

1.配置文件:/etc/ssh/sshd_config

78 PasswordAuthentication yes|no        ##是否開啟用戶密碼進行sshd認證,yes為支持no為關閉
48 PermitRootLogin yes|no                   ##是否允許root用戶通過輸入密碼進行sshd認證
49 AllowUsers student westos              ##用戶白名單,只有在名單中出現的用戶可以使用sshd建立shell。白名單出現,不再其中的用戶不被允許sshd認證登陸
50 DenyUsers westos                         ##用戶黑名單
重啟服務:systemctl restart sshd.service

2.ssh登陸提示修改

vim /etc/motd       ##文件內容就是登陸後顯示內容
hello world       ##在登陸後就會顯示這個字符

4.用戶登陸審記

1.

w          ##查看使用系統的當前用戶有那些
w -f        ##查看使用地點
w -i        ##顯示ip
              相關文件:/var/run/utmp

技術分享圖片
2.

last         ##查看用戶登陸成功歷史
                相關文件:/var/log/wtmp

技術分享圖片
3.

lastb       ##查看用戶登陸未成功歷史
                相關文件:/var/log/btmp

技術分享圖片

Linux(RadHat)基礎學習—系統服務控制及sshd服務