IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁系統(tǒng)集成網(wǎng)絡管理 → OpenSSH 的新身份驗證方法

OpenSSH 的新身份驗證方法

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  簡介

  OpenSSH 是一種實現(xiàn) SSH1 和 SSH2 協(xié)議的免費工具。它是一種安全可靠的工具,常常用來替代 r-commands。通過 ssh 會話的通信是加密的,它會加密所有通信流,包括密碼。

  本文描述如何配置基于主機的和 PAM 身份驗證方法,以及在 IBM 支持的 OpenSSH 版本中新增的一些特性和配置選項。IBM 支持的 OpenSSH 版本的下載鏈接見 參考資料。

  要想安裝 OpenSSH,必須先安裝 OpenSSL?,F(xiàn)在可以獲得 installp 映像格式的 OpenSSL;下載信息見 參考資料。

  SSH 中基于主機的身份驗證

  當可信主機上的用戶希望登錄遠程計算機(可以是不可信的系統(tǒng))時,使用 SSH 中基于主機的身份驗證。這種方法不需要密碼。通過使用以下配置設置,可信主機上的用戶就可以登錄遠程計算機,不需要提供密碼。

  在客戶機和服務器端啟用以下配置選項。

  在客戶機上的 /etc/ssh/ssh_config 文件中,做以下修改:
HostbasedAuthentication yes 
EnableSSHKeysign yes 
   

  在服務器端的 /etc/ssh/sshd_config 文件中,做以下修改:
HostbasedAuthentication yes 
IgnoreRhosts no 
   

  執(zhí)行以下操作之一:

  如果作為根用戶在服務器上登錄,那么在 /.rhosts 或 /.shosts 文件中輸入主機。

  如果作為非根用戶在服務器上登錄,那么在 /etc/hosts.equiv 文件中輸入主機。

  設置項的格式如下:
   
        

  如果希望作為根用戶在服務器上登錄,那么運行 ssh root@< server host name >,服務器會在 /.rhosts 或 /.shosts 文件中檢查客戶機用戶名和客戶機主機名,只在找到正確的用戶名和主機名的情況下,才允許登錄。

  如果希望作為非根用戶在服務器上登錄,那么運行 ssh non-root@,服務器會在 /etc/hosts.equiv 文件中檢查客戶機用戶名和客戶機主機名,并允許用戶登錄。

  在作為非根用戶登錄時,應該在客戶機上把公共密鑰復制到 /etc/ssh/ssh_known_hosts 或 /etc/ssh/ssh_known_hosts2 文件中。這個文件的格式應該與 ~/. ssh/known_hosts 文件相同。公共密鑰前面應該加上 , 。

  修改 sshd_config 文件中的配置選項之后,停止并重新啟動 ssh 守護進程 (sshd):
#stopsrc –s sshd 
0513-044 The sshd Subsystem was requested to stop. 
 
#startsrc –s sshd 
0513-059 The sshd Subsystem has been started. Subsystem PID is 417812 

  完成這些設置之后,就應該能夠登錄到遠程計算機,系統(tǒng)不會提示輸入密碼。

  OpenSSH 中的 PAM 支持

  要想在 OpenSSH 中啟用 PAM 身份驗證,應該運行以下配置命令:

# lssec -f /etc/security/login.cfg -s usw -a auth_type 
usw auth_type=STD_AUTH 
   

  如果代碼是 auth_type = STD_AUTH,那么使用以下命令把它改為 PAM_AUTH:
# chsec -f /etc/security/login.cfg -s usw -a auth_type=PAM_AUTH 
     

  在 /etc/pam.conf 文件中添加以下設置:

  在 authentication 部分中:
sshd  auth  required    /usr/lib/security/pam_aix 
   

  在 account management 部分中:
sshd  account  required    /usr/lib/security/pam_aix 
     

  在 password management 部分中:
sshd  password  required    /usr/lib/security/pam_aix 
     

  在 session management 部分中:
sshd  session required    /usr/lib/security/pam_aix 

  完成這些設置之后,運行 ssh 命令以使用 PAM 身份驗證。

  SSH 中的新特性

  下面是 IBM 支持的 OpenSSH 版本中新增的一些特性和配置選項。

  SSH 和 EFS

  與用戶和組相關聯(lián)的私有密鑰存儲在 EFS 密鑰存儲中,由一個密鑰存儲密碼保護。當用戶登錄一臺啟用 EFS 的計算機時,如果用戶密碼和密鑰存儲密碼是相同的,登錄進程就打開 EFS 密鑰存儲并把密鑰存儲中的密鑰裝載到內(nèi)核中。當以后進程需要讀寫受 EFS 保護的文件時,使用這些密鑰。

?

  在使用 SSH 的開放源碼版本 (OpenSSH) 時,登錄進程無法打開 EFS 密鑰存儲并把密鑰裝載到內(nèi)核中。這是因為 SSH 會產(chǎn)生兩個進程,一個用于身份驗證,另一個用于創(chuàng)建會話。對于要裝載的 EFS 密鑰存儲,必須由單一進程創(chuàng)建密鑰存儲并把這些密鑰與進程憑證綁定。對于 SSH,兩個不同的進程執(zhí)行這個過程,因此無法裝載密鑰存儲。

  在 IBM 支持的 OpenSSH 版本中已經(jīng)糾正了這個問題。openssh-4.5p1 支持打開密鑰存儲并把密鑰自動地裝載到內(nèi)核中,從而避免密碼身份驗證,讓登錄進程能夠讀寫受 EFS 保護的文件(只要登錄密碼和 EFS 密鑰存儲密碼是相同的)。

  新的 sshd_config 選項

  ChkHomeDir

  這個選項是在之前的 openssh-4.5p1(IBM 支持的版本)中增加的。它是 sshd_config 文件中的一個選項。在默認情況下,它設置為 "No"。在啟用時,設置為 "Yes",它會檢查用戶的主目錄是否存在。如果用戶的主目錄不存在,它就退出,不允許用戶登錄。如果系統(tǒng)管理員希望限制主目錄不存在的用戶訪問系統(tǒng),就可以使用這個選項。

  FrcpasswdPolicies

  這個配置選項包含在 IBM 支持的 OpenSSH-4.5p1 版本的 sshd_config 文件中。在默認情況下,它設置為 "No"。在設置為 "Yes" 時,在允許用戶登錄之前,它檢查用戶的密碼是否已經(jīng)過期。如果用戶的密碼已經(jīng)過期,它提示用戶修改密碼,在成功地修改密碼之后,允許用戶登錄。否則,登錄失敗。即使用戶采用公共密鑰或基于主機的身份驗證,也會執(zhí)行這個密碼檢查。這在登錄之前確保用戶是得到授權的。

  AllowFiles/DenyFiles

  這個選項是在 IBM 支持的 OpenSSH-4.7p1 版本的 sshd_config 文件中添加的。這個選項是 SFTP 專用的,SFTP 是一種安全的 FTP,用于在本地和遠程計算機之間復制文件。通過使用這些設置,用戶可以控制對要復制的文件、源目錄和目標目錄的訪問。

#p#副標題#e#

  如以下示例所示,可以在 sshd_config 文件中指定文件名。

  在 sshd_config 文件中,添加以下代碼行并保存文件:
AllowFiles ":/tmp/*" 

  如果 SSH 守護進程正在運行,那么運行以下命令停止和啟動服務器:
# stopsrc -s sshd 
0513-044 The sshd Subsystem was requested to stop. 
 
# startsrc -s sshd 
0513-059 The sshd Subsystem has been started. Subsystem PID is 11160. 

  從客戶機運行以下 SFTP 命令:
# sftp [email protected] 
Connecting to aixcomm.in.ibm.com... 
[email protected]'s password: 
sftp> cd /usr 
Couldn't stat remote file: Permission denied 
sftp> 

  在前面的示例中,在登錄之后,"jyo" 試圖修改 /usr 目錄。但是,sshd_config 文件中用戶 jyo 的 AllowFiles 選項設置為 "jyo:/tmp/*",因此不允許用戶 "jyo" 修改除了 /tmp 目錄中的文件之外的任何其他文件。

  DenyFiles 選項拒絕對指定目錄中文件的訪問;sshd_config 文件中的 DenyFiles 選項允許訪問其他文件。

  AllowFiles 和 DenyFiles 選項用以下語法指定文件和目錄名:

 :  

  chroot 目錄修改

  可以通過 IBM developerWorks 文章 openssh with AIX chroot 了解 IBM 支持的 OpenSSH 版本中的 chroot 特性。這篇文章的鏈接見 參考資料。

  從 OpenSSH-5.0p1 開始,在 chroot 環(huán)境設置方面有一個修改。sshd_config 文件中增加了一個新的配置選項 ChrootDirectory,它指定身份驗證之后 chroot 的路徑。

  設置 chroot 環(huán)境的過程仍然與 developerWorks 文章 openssh with AIX chroot 中介紹的過程相同,但是 "Creating chroot user and finalizing installation" 一節(jié)除外(見 參考資料)。對于 OpenSSH-5.0p1 版本,可以跳過這一節(jié)。另外,要確保 chroot 目錄中的 tmp 目錄的權限是 777。

  需要在 chroot 環(huán)境中創(chuàng)建用戶的主目錄,chroot 目錄的所有者應該是根用戶。

  例如,假設以 /chroot 作為 chroot 目錄,sshd_config 文件中的設置應該是:

ChrootDirectory /chroot 
       

  /chroot 目錄的權限應該是:

#chown root:system /chroot 
       

  假設要在 chroot 環(huán)境中作為用戶 "jyoti" 登錄。必須在 /chroot 中手工創(chuàng)建用戶的主目錄 "/home/jyoti"。

#cd /chroot 
 
# ls 
bin  dev  etc  home lib  tmp  unix usr 
 
#cd home 
#mkdir jyoti

  為了在 chroot 環(huán)境中運行 SFTP,要在 sshd_config 文件中設置 Subsystem 配置選項,如下所示:

關鍵詞標簽:OpenSSH

相關閱讀

文章評論
發(fā)表評論

熱門文章 路由器地址大全-各品牌路由設置地址 路由器地址大全-各品牌路由設置地址 各品牌的ADSL與路由器出廠默認IP、帳號、密碼 各品牌的ADSL與路由器出廠默認IP、帳號、密碼 Nslookup命令詳解-域名DNS診斷 Nslookup命令詳解-域名DNS診斷 站長裝備:十大網(wǎng)站管理員服務器工具軟件 站長裝備:十大網(wǎng)站管理員服務器工具軟件

相關下載

    人氣排行 各品牌的ADSL與路由器出廠默認IP、帳號、密碼 路由器地址大全-各品牌路由設置地址 騰達路由器怎么設置?騰達路由器設置教程 ADSL雙線負載均衡設置詳細圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實際工作的一天 網(wǎng)管必會!了解交換機控制端口流量