sshd服務及服務管理

1.什麼是sshd服務?
客戶端主機通過網絡在服務端主機中開啓服務端主機shell的服務
客戶端通過網絡連接服務端,並且控制服務端,也就是客戶端開了服務端的shell
2.實驗環境搭建
1>在真機中打開虛擬機desktop,server(在爲了實驗環境的乾淨,先要reset一下兩臺虛擬機)
2>配置兩臺主機的Ip
3>在兩臺主機的shell中分別刪除 /root/.ssh/(刪除這個目錄rm -rf /root/.ssh 或者刪除這個目錄下的文件rm -rf /root/.ssh/*均可以)
備註:客戶端主機第一次連接服務端主機會在這個目錄下生成known_hosts這個文件,爲了驗證這個實驗效果,所以先將這個目錄清空或者直接刪除這個隱藏目錄
直接在家目錄下面輸入ls -a(查看所有文件,包括非隱藏文件和隱藏文件) 或者l.(只查看隱藏文件)

4>修改兩個主機名字
在客戶端主機輸入 hostnamectl set-hostname client.hhh.com(desktop主機)
在服務端主機輸入 hostnamectl set-hostname server.uuu.com(server主機)
3.sshd的相關內容(客戶端連接服務端主機)
1>文本模式下連接
客戶端可以啓用服務端的文本模式功能
一臺主機可以和另外一臺主機連接起來,並且可以操作對方的文本模式1:
如果是客戶端連接服務端,則客戶端可以操作服務端的文本模式
如果是服務端連接客戶端,則服務端可以操作客戶端的文本模式
格式: ssh username@Ip 在連接時需要輸入所連主機的密碼
注意
第一次連接陌生主機的時候需要建立認證文(~/.ssh/know_hosts文件),所以會詢問是否建立,輸入yes即可.
再次連接次臺主機的時候,由於已經生成~/.ssh/know_hosts文件,因此不需要再次輸入yes.
模式2:
(默認上面這樣打開的是文本模式,如果想要打開圖形編輯模式)
格式:ssh -X username@ip
sshd服務及服務管理
4.遠程複製

:文件路徑均採用絕對路徑
1.將一臺主機上的文件複製到另外一臺主機上
格式:scp file root@ip:dir
2.將遠程文件下載下來
格式:scp username@ip:file dir下載
rsysnc進行傳輸:
sshd服務及服務管理

scp與rscp的區別
scp是相當於複製,黏貼,如果有的話是覆蓋,比較耗時間,不智能。rsync是複製,如果有重複的文件,會直接跳過,而且他自己的算法優化。scp是把文件全部複製過去,當文件修改後還是把所有文件複製過去,rsync 第一次是把所有文件同步過去,當文件修改後,只把修改的文件同步過去。

5.sshd服務的免密操作
1.原因:如果客戶端知道服務端主機的ip地址和密碼,就可以遠程操控服務端, 如果任意一個客戶端知道服務端主機的ip地址和密碼,並且知道它裏面的重要文件存放路徑,那麼就可以拷貝服務端的文件,這樣的操作在實際企業當中非常不安全
2.採用鑰匙和鎖子
key1:在服務端輸入:ssh-keygen ,生成鑰匙和密碼 , id_rsa是鑰匙 id_rsa.pub是鎖
sshd服務及服務管理
在服務端輸入 ssh-keygen 三次回車 ,每次回車都有原因:
1>第一次回車是鑰匙和密碼存放路徑(可以直接回車,存放在默認路徑下)
2>第二次回車是密碼(可以直接回車,不設置密碼)
3>第三次回車也是密碼(可以直接回車,不設置密碼)
sshd服務及服務管理
也可以不用回車,設置參數:
sshd服務及服務管理
key2:在服務端輸入:ssh-copy -id -i /root/.ssh/id_rsa.pub username@ip 先給自己上鎖,也就是給服務端上鎖
sshd服務及服務管理
key3:在服務端輸入:scp /root/.ssh/id_rsa username@ip:/root/.ssh/ 將密碼傳給客戶端
客戶端/root/.ssh/的這個文件(目錄)必須存在 ,相當於上傳
sshd服務及服務管理
注意:如果客戶端沒有:/root/.ssh/這個文件,客戶端使用密碼方式重新連接一次server,會重新生成該文件
key4:驗證客戶端是否可以進行免密連接server
6.sshd的安全設定?
1.原因:因爲server的root權限太大,客戶端如果使用server的root權限極不安全,爲了保證ssh服務器的安全性:server開放的權限不能太多,一般不太讓客戶端主機用server主機的超級用戶root
2.常用安全規定
1>/etc/ssh/sshd_config的第78行
是否允許server的任意一個存在的用戶通過登陸系統的密碼做sshd的認證

2>/etc/ssh/sshd_config的第48行
是否允許server的root用戶通過sshd的服務

3>加入AllowUesrs student westos
設定用戶的白名單,此名單裏面的用戶可以做sshd服務 (文件裏不存在 直接輸入即可 多個用戶用空格隔開)
sshd服務及服務管理
4>加入DenyUsers westos
設定用戶的黑名單,此名單
注意:改完 之後需要 systemctl restart sshd.service

sshd服務及服務管理
5>驗證78行PasswordAuthentication yes|no
是否允許server的任意一個存在的用戶通過登陸系統的密碼做sshd的認證(最初始的那種遠程連接輸入密碼的方式),是否可以使別人在登陸時沒有鑰匙時試密碼登陸 ,yes表示可以試密碼和no表示不可以試密碼, 註釋相當於no
6>驗證48行的PermitRootLogin yes|no
是否允許server的root用戶通過sshd的服務(客戶端是否能通過server的root用戶遠程連接server)
禁止超級用戶登陸 ,限制超級用戶使用root身份來登陸ssh,默認爲yes
注意:之前我們已經設置過超級用戶可以免密連接
因此做這個實驗之前應該先取消root的免密操作
在客戶端和server均刪除鑰匙也就是 rm -rf /root/.ssh/*
不允許的話會一直顯示密碼錯誤
sshd服務及服務管理
修改端口 :port num 修改端口
sshd服務及服務管理
7.添加sshd登錄信息
1>原因:爲了使客戶端在連接server的時候可以直觀的看到服務端的相關信息,因此要添加信息,也就是使客戶端登陸,server的時候顯示server的一些信息
2>方法:1.在server的 /etc/motd 文件裏面設置服務端自己的一些信息
2.vim /etc/motd 文件內容就是登錄後顯示的信息
8.用戶的登錄審計
補充: /var/log/wtmp,/var/log/btmp,:該文件存放的是last查出來的信息,但是該文件不能用cat查看,可以用放file查看

  1. w -f 查看正在使用當前系統的用戶
    -i 顯示使用來源
    /var/run/utmp
    2.last /var/log/utmp 查看使用過 並退出的用戶信息
    3.lastb /var/log/btmp 試圖登陸但沒成功的用戶
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章