Linux(RadHat)基礎學習—系統服務控制及sshd服務
阿新 • • 發佈:2018-07-28
遠程 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服務