時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
簡介
OpenSSH 是一種實(shí)現(xiàn) SSH1 和 SSH2 協(xié)議的免費(fèi)工具。它是一種安全可靠的工具,常常用來替代 r-commands。通過 ssh 會(huì)話的通信是加密的,它會(huì)加密所有通信流,包括密碼。
本文描述如何配置基于主機(jī)的和 PAM 身份驗(yàn)證方法,以及在 IBM 支持的 OpenSSH 版本中新增的一些特性和配置選項(xiàng)。IBM 支持的 OpenSSH 版本的下載鏈接見 參考資料。
要想安裝 OpenSSH,必須先安裝 OpenSSL。現(xiàn)在可以獲得 installp 映像格式的 OpenSSL;下載信息見 參考資料。
SSH 中基于主機(jī)的身份驗(yàn)證
當(dāng)可信主機(jī)上的用戶希望登錄遠(yuǎn)程計(jì)算機(jī)(可以是不可信的系統(tǒng))時(shí),使用 SSH 中基于主機(jī)的身份驗(yàn)證。這種方法不需要密碼。通過使用以下配置設(shè)置,可信主機(jī)上的用戶就可以登錄遠(yuǎn)程計(jì)算機(jī),不需要提供密碼。
在客戶機(jī)和服務(wù)器端啟用以下配置選項(xiàng)。
在客戶機(jī)上的 /etc/ssh/ssh_config 文件中,做以下修改:
HostbasedAuthentication yes
EnableSSHKeysign yes
在服務(wù)器端的 /etc/ssh/sshd_config 文件中,做以下修改:
HostbasedAuthentication yes
IgnoreRhosts no
執(zhí)行以下操作之一:
如果作為根用戶在服務(wù)器上登錄,那么在 /.rhosts 或 /.shosts 文件中輸入主機(jī)。
如果作為非根用戶在服務(wù)器上登錄,那么在 /etc/hosts.equiv 文件中輸入主機(jī)。
設(shè)置項(xiàng)的格式如下:
如果希望作為根用戶在服務(wù)器上登錄,那么運(yùn)行 ssh root@< server host name >,服務(wù)器會(huì)在 /.rhosts 或 /.shosts 文件中檢查客戶機(jī)用戶名和客戶機(jī)主機(jī)名,只在找到正確的用戶名和主機(jī)名的情況下,才允許登錄。
如果希望作為非根用戶在服務(wù)器上登錄,那么運(yùn)行 ssh non-root@
在作為非根用戶登錄時(shí),應(yīng)該在客戶機(jī)上把公共密鑰復(fù)制到 /etc/ssh/ssh_known_hosts 或 /etc/ssh/ssh_known_hosts2 文件中。這個(gè)文件的格式應(yīng)該與 ~/. ssh/known_hosts 文件相同。公共密鑰前面應(yīng)該加上
修改 sshd_config 文件中的配置選項(xiàng)之后,停止并重新啟動(dòng) ssh 守護(hù)進(jìn)程 (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
完成這些設(shè)置之后,就應(yīng)該能夠登錄到遠(yuǎn)程計(jì)算機(jī),系統(tǒng)不會(huì)提示輸入密碼。
OpenSSH 中的 PAM 支持
要想在 OpenSSH 中啟用 PAM 身份驗(yàn)證,應(yīng)該運(yùn)行以下配置命令:
# 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 文件中添加以下設(shè)置:
在 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
完成這些設(shè)置之后,運(yùn)行 ssh 命令以使用 PAM 身份驗(yàn)證。
SSH 中的新特性
下面是 IBM 支持的 OpenSSH 版本中新增的一些特性和配置選項(xiàng)。
SSH 和 EFS
與用戶和組相關(guān)聯(lián)的私有密鑰存儲(chǔ)在 EFS 密鑰存儲(chǔ)中,由一個(gè)密鑰存儲(chǔ)密碼保護(hù)。當(dāng)用戶登錄一臺(tái)啟用 EFS 的計(jì)算機(jī)時(shí),如果用戶密碼和密鑰存儲(chǔ)密碼是相同的,登錄進(jìn)程就打開 EFS 密鑰存儲(chǔ)并把密鑰存儲(chǔ)中的密鑰裝載到內(nèi)核中。當(dāng)以后進(jìn)程需要讀寫受 EFS 保護(hù)的文件時(shí),使用這些密鑰。
?
在使用 SSH 的開放源碼版本 (OpenSSH) 時(shí),登錄進(jìn)程無法打開 EFS 密鑰存儲(chǔ)并把密鑰裝載到內(nèi)核中。這是因?yàn)?SSH 會(huì)產(chǎn)生兩個(gè)進(jìn)程,一個(gè)用于身份驗(yàn)證,另一個(gè)用于創(chuàng)建會(huì)話。對(duì)于要裝載的 EFS 密鑰存儲(chǔ),必須由單一進(jìn)程創(chuàng)建密鑰存儲(chǔ)并把這些密鑰與進(jìn)程憑證綁定。對(duì)于 SSH,兩個(gè)不同的進(jìn)程執(zhí)行這個(gè)過程,因此無法裝載密鑰存儲(chǔ)。
在 IBM 支持的 OpenSSH 版本中已經(jīng)糾正了這個(gè)問題。openssh-4.5p1 支持打開密鑰存儲(chǔ)并把密鑰自動(dòng)地裝載到內(nèi)核中,從而避免密碼身份驗(yàn)證,讓登錄進(jìn)程能夠讀寫受 EFS 保護(hù)的文件(只要登錄密碼和 EFS 密鑰存儲(chǔ)密碼是相同的)。
新的 sshd_config 選項(xiàng)
ChkHomeDir
這個(gè)選項(xiàng)是在之前的 openssh-4.5p1(IBM 支持的版本)中增加的。它是 sshd_config 文件中的一個(gè)選項(xiàng)。在默認(rèn)情況下,它設(shè)置為 "No"。在啟用時(shí),設(shè)置為 "Yes",它會(huì)檢查用戶的主目錄是否存在。如果用戶的主目錄不存在,它就退出,不允許用戶登錄。如果系統(tǒng)管理員希望限制主目錄不存在的用戶訪問系統(tǒng),就可以使用這個(gè)選項(xiàng)。
FrcpasswdPolicies
這個(gè)配置選項(xiàng)包含在 IBM 支持的 OpenSSH-4.5p1 版本的 sshd_config 文件中。在默認(rèn)情況下,它設(shè)置為 "No"。在設(shè)置為 "Yes" 時(shí),在允許用戶登錄之前,它檢查用戶的密碼是否已經(jīng)過期。如果用戶的密碼已經(jīng)過期,它提示用戶修改密碼,在成功地修改密碼之后,允許用戶登錄。否則,登錄失敗。即使用戶采用公共密鑰或基于主機(jī)的身份驗(yàn)證,也會(huì)執(zhí)行這個(gè)密碼檢查。這在登錄之前確保用戶是得到授權(quán)的。
AllowFiles/DenyFiles
這個(gè)選項(xiàng)是在 IBM 支持的 OpenSSH-4.7p1 版本的 sshd_config 文件中添加的。這個(gè)選項(xiàng)是 SFTP 專用的,SFTP 是一種安全的 FTP,用于在本地和遠(yuǎn)程計(jì)算機(jī)之間復(fù)制文件。通過使用這些設(shè)置,用戶可以控制對(duì)要復(fù)制的文件、源目錄和目標(biāo)目錄的訪問。
#p#副標(biāo)題#e#
如以下示例所示,可以在 sshd_config 文件中指定文件名。
在 sshd_config 文件中,添加以下代碼行并保存文件:
AllowFiles "
如果 SSH 守護(hù)進(jìn)程正在運(yùn)行,那么運(yùn)行以下命令停止和啟動(dòng)服務(wù)器:
# 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.
從客戶機(jī)運(yùn)行以下 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 選項(xiàng)設(shè)置為 "jyo:/tmp/*",因此不允許用戶 "jyo" 修改除了 /tmp 目錄中的文件之外的任何其他文件。
DenyFiles 選項(xiàng)拒絕對(duì)指定目錄中文件的訪問;sshd_config 文件中的 DenyFiles 選項(xiàng)允許訪問其他文件。
AllowFiles 和 DenyFiles 選項(xiàng)用以下語法指定文件和目錄名:
chroot 目錄修改
可以通過 IBM developerWorks 文章 openssh with AIX chroot 了解 IBM 支持的 OpenSSH 版本中的 chroot 特性。這篇文章的鏈接見 參考資料。
從 OpenSSH-5.0p1 開始,在 chroot 環(huán)境設(shè)置方面有一個(gè)修改。sshd_config 文件中增加了一個(gè)新的配置選項(xiàng) ChrootDirectory,它指定身份驗(yàn)證之后 chroot 的路徑。
設(shè)置 chroot 環(huán)境的過程仍然與 developerWorks 文章 openssh with AIX chroot 中介紹的過程相同,但是 "Creating chroot user and finalizing installation" 一節(jié)除外(見 參考資料)。對(duì)于 OpenSSH-5.0p1 版本,可以跳過這一節(jié)。另外,要確保 chroot 目錄中的 tmp 目錄的權(quán)限是 777。
需要在 chroot 環(huán)境中創(chuàng)建用戶的主目錄,chroot 目錄的所有者應(yīng)該是根用戶。
例如,假設(shè)以 /chroot 作為 chroot 目錄,sshd_config 文件中的設(shè)置應(yīng)該是:
ChrootDirectory /chroot
/chroot 目錄的權(quán)限應(yīng)該是:
#chown root:system /chroot
假設(shè)要在 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)境中運(yùn)行 SFTP,要在 sshd_config 文件中設(shè)置 Subsystem 配置選項(xiàng),如下所示:
關(guān)鍵詞標(biāo)簽:OpenSSH相關(guān)閱讀
熱門文章 路由器地址大全-各品牌路由設(shè)置地址 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 Nslookup命令詳解-域名DNS診斷 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件
人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 路由器地址大全-各品牌路由設(shè)置地址 騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程 ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實(shí)際工作的一天 網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量