ssh

SSH的英文全稱是SecureShell。
SSH是一種協議,有版本1和版本2。版本1很不安全。配置文件在/etc/ssh/中,其中ssh_config是客戶端的配置文件,sshd_config是服務器端的配置文件。

ssh還能實現端口轉發的功能。ssh可以遠程轉發郵件,但是遠程服務器必須有一個用戶賬號。

它的安全不僅體現在是加密通信的,而且可以實現認證。有主機認證和用戶認證。用戶認證分爲三類:基於口令的認證;基於密鑰的認證;基於主機的認證(十分不安全,所以很少用)

如何實現主機認證呢?當雙方試圖建立通信時,尤其是客戶端連接服務端時,服務端用主機私鑰加密去加密一段數據,並把數據發送給客戶端,此時,客戶端試圖從自己的某個文件中找到和這個私鑰匹配的公鑰去解密這段數據。

用戶的公鑰都放在~/.ssh/known_hosts

~/.ssh/unknown_hosts

客戶端生成一對密鑰對,私鑰自己保存,把公鑰發給服務器的

ssh的配置文件:

首先看服務端的配置文件:其中加#號的表示是默認值。#號後不帶空格的表示可啓用的選項,帶空格的表示是純註釋。會話密鑰每隔一段時間會更換(默認是1小時)。

/etc/ssh/sshd_config

     #PermitRootLogin yes更換爲no。不允許以root身份登陸。
#StrictModes yes  檢查用戶家目錄權限,如果家目錄權限不是全局可寫,就不能登陸

#MaxAuthTries 6 密碼錯誤最大重複次數

 
日誌都在/var/log/secure裏。

QUIET,FATAL,ERROR,INFO,DEBUG,DEBUG2,DEBUG3.

在除了調試時都不要進入DEBUG級別,因爲日誌中會記錄密碼等隱私信息。

AllowUsers/AllowGroups 白名單

DenyUsers/DenyGroups  黑名單

如果兩個名單不衝突,則以allow爲準,要是兩個都定義同一個用戶,則爲拒絕。因爲拒絕的優先級比允許的高。   

客戶端配置文件/etc/ssh/ssh_config               

服務器進程在/usr/sbin/sshd下,netstat –tnlp查看22號端口是否被監聽

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