天天看點

SSH與TCP Wrapper 學習筆記

SSH(Secure Shell) 實作了與telent服務類似的遠端登入功能,ssh協定在網絡中使用密文傳輸資料,SSH伺服器中還支援使用scp和sftp等用戶端程式進行遠端主機的檔案複制

SSH協定提供兩種使用者認證方式:

基于密碼的安全認證

    與telnet類似,提供正确的使用者密碼後可以遠端登入伺服器

基于密鑰的安全認證

    使用公鑰和私鑰對的方式對使用者進行認證

對稱密鑰:伺服器和用戶端使用同樣的密鑰加密解密

 加密和解密的速度很快。

非對稱密鑰:

一般用于身份驗證,安全性高,但加密解密速度慢

1.雙方交換公鑰

2.随機生成對稱密鑰,然後用對方的公鑰加密後發給對方

3,對方用私鑰解密得到對稱密鑰

4,以後對方所傳輸的所有資料均使用這個對稱密鑰加密和解密

openssh 是ssh協定的免費實作版本。他的程序是sshd。配置檔案放在/etc/ssh中,伺服器配置檔案是/etc/ssh/ssd_config 客戶機配置檔案是/etc/ssh/ssh_config 

客戶機登入ssh伺服器後,會在客戶機的家目錄生成.ssh目錄,其中know_hosts儲存伺服器的公鑰。

在ssh用戶端生成使用者的公鑰和私鑰對

使用ssh-keygen指令生成密鑰對:$ssh-keygen -t rsa(rsa是著名的非對稱密鑰算法)

公鑰和私鑰檔案

ssh-keygen指令将在.ssh目錄中生成公鑰和私鑰檔案

id_rsa是私鑰檔案,内容需要保密

id_rsa.pub是公鑰檔案,可以釋出到ssh伺服器中。

複制公鑰檔案:

将用戶端中的使用者公鑰檔案複制到ssh伺服器中([staid@staid ~]$ scp /home/staid/.ssh/id_rsa.pub [email protected]:/root):

将公鑰内容追加到authorized_keys檔案(沒有authorized_keys的話,建立authorized_keys檔案):

authorized_keys檔案儲存在ssh伺服器中使用者目錄的.ssh子目錄中

authorized_keys用于儲存所有允許以目前使用者身份登入的ssh用戶端使用者的公鑰内容

使用>>重定向符将使用者公鑰追加到authorized_keys檔案中

cat id_rsa.pub>>~/.ssh/authorized_keys

ssh 192.168.1.2 的意思是用目前使用者的名字登入伺服器。

TCP Wrappers(包裹起來):隻要應用基于tcp協定的,使用者通路tcp應用的話,先經過TCP Wrappers過濾一遍。

設定隻有兩個檔案:/etc/hosts.deny 和/etc/hosts.allow

守護程序就是tcpd,

包:tcp_wrappers

此處白名單優先于黑名單,就是說白名單也有,黑名單也有,那麼就是白名單生效

檔案格式:<服務程式清單>:<用戶端位址清單>[:動作]

檔案中每行為一個設定記錄

服務程式清單字段的表示:

ALL代表所有的服務程式

單個服務的名稱 ,例如:in.telnetd代表telnet伺服器程序(因為他屬于超級管理程式的背景伺服器部分,是以得用in.的樣子,而不是獨立程序),vsftpd代表vsftpd伺服器程式

多個服務程式名稱可以組成清單,中間用逗号隔開。例如:in.telnetd,vsftpd

客戶機位址清單:字段的表示:

ALL代表所有的客戶機位址

LOCAL代表本機位址

KNOW代表可解析的域名

UNKNOW代表不可解析的域名

以句點.可是的域名代表該域名下的所有主機,例如:.test.com代表test.com域下的所有主機

對某個子網中的所有主機使用 子網/掩碼 的形式表示

對于網絡中的某個主機可直接用ip位址表示

動作用allow代表允許,deny是拒絕。

本文轉自guoli0813 51CTO部落格,原文連結:http://blog.51cto.com/guoli0813/359680,如需轉載請自行聯系原作者

繼續閱讀