debian 下的openssh 的完全配置筆記
一,安裝
在debian 下安裝openssh很簡單,它分爲兩個部分一個服務程序,一個是客戶端程序,安裝如下:
安裝服務器程序:sudo aptitude install openssh-server
安裝客戶端程序:sudo aptitude install openssh-client
二,測試
安裝好之後,我們可以在服務器上測試一下:
ssh localhost
如果請你輸入密碼,通過認證後,登錄成功,說明服務已經運行了。用exit 即可退出。
三,服務器配置,
1. sshd_config 配置文件。詳細的瞭解可以查看金步國的作品 sshd_config 中文手冊
這裏只列出幾個特別的配置選項:
ListenAddress 此選項與用那個客戶端登錄沒有關係,它只是指明瞭服務器用哪個IP和端口監聽用戶的請求。默認監聽所有地址。
格式:
ListenAddress host|IPv4_addr|IPv6_addr
ListenAddress host|IPv4_addr:port
ListenAddress [host|IPv6_addr]:port
如:
ListenAddress 192.168.1.6 這說明服務器上必須有一個IP地址爲 192.168.1.6 服務器就監聽這個IP 上的所有端口
ListenAddress 192.168.1.6:3322 監聽IP 爲192.168.1.6這個地址上的3322端口。
寫法,如:
ListenAddress 0.0.0.0:22
ListenAddress 192.168.1.6:66
ListenAddress 192.168.1.6:3322
多個地址,可以寫入多行。
AllowUsers 允許登錄的用戶,
寫法:
AllowUsers admin 允許用戶admin登錄
AllowUsers [email protected] user2 允許用戶admin從IP爲192.168.1.20的客戶端登錄,允許user2 從任何地址登錄。
AllowGroups 允許登錄的用戶組,
寫法:
AllowGroups admin group2
DenyUsers 拒絕登錄的用戶,
DenyUsers 拒絕登錄的用戶組,
以上四個選項還應該配合着:/etc/hosts.allow /etc/hosts.deny 來設置更好。
如:/etc/hosts.allow 中是允許登錄的用戶
/etc/hosts.deny 是不允許登錄的用戶
四,安全
1。禁止root 登錄。
PermitRootLogin no
2.不用密碼驗證,用密鑰驗證
UserPAM no
PasswordAuthentication no
3.選用SSH協議2
Protocol 2
4.配合 AllowUsers AllowGroups DenyUsers DenyGroups /etc/hosts.allow /etc/hosts.deny 還有防火牆
來限制登錄的網段,用戶,端口,羣組等。