您好,登錄后才能下訂單哦!
系統(tǒng)環(huán)境是CEONOS6.4, 介紹下PAM(Pluggable Authentication Modules)在ssh服務(wù)上的簡(jiǎn)單配置過(guò)程。
必須先添加普通用戶,并屬于wheel組,保證有除root之外的其它用戶能登錄到系統(tǒng) ?。。。。。。?/p>
useradd -g wheel admin
passwd admin
1 禁止root登錄
vim /etc/ssh/sshd_config
添加 UsePAM yes
vim /etc/pam.d/sshd 行首添加:
auth required pam_listfile.so item=user sense=deny file=/etc/ssh/denyuser onerr=succeed
echo "root" >> /etc/ssh/denyuser
列在/etc/ssh/denyuser中的用戶, 都會(huì)被拒絕使用密碼登錄??!
2 只允許wheel組用戶(root默認(rèn)也不屬于wheel的)使用su:
vim /etc/pam.d/su 行首添加
auth required pam_wheel.so use_uid
3 附shell:
使用須知:
A. 需要你先安全地生成自己的密鑰對(duì),并妥善保管!!將“mykey”替換為你的公鑰串
B. 腳本包括了創(chuàng)建普通用戶"admin",可以修改為你自己需要的用戶,它可以使用su切換到root
C.腳本執(zhí)行結(jié)果為, 限制root使用密碼登錄系統(tǒng),但若設(shè)置了使用密鑰,仍可以登錄(安全性好)
D.add_my_key root $1(腳本中標(biāo)紅色),后面參數(shù)為你想添加公鑰認(rèn)證的所有用戶,可以自己補(bǔ)充。
E.腳本供大家學(xué)習(xí)交流,生產(chǎn)環(huán)境使用前,請(qǐng)先在測(cè)試環(huán)境中測(cè)試效果,作者不對(duì)任何結(jié)果負(fù)任何責(zé)任。
#!/bin/sh
LOG_FILE=$0.log
wr_log(){
TIME=`date +"%Y-%m-%d %H:%M:%S"`
if [ $1 -eq 0 ];then
echo "[$TIME] $2 success"
echo "[$TIME] $2 success" >> ${LOG_FILE}
else
echo "[$TIME] $2 error"
echo "[$TIME] $2 error">>${LOG_FILE}
exit 1
fi
}
gsed(){
#用于修改配置文件,后接3個(gè)參數(shù):1.要修改的行2.修改后的行3.被修改的文件
#若找不到匹配的行, 會(huì)將$2添加到文件的首行
`/bin/grep -E "^$1" $3 >/dev/null`
ret1=$?
`/bin/grep -E "^$2" $3 >/dev/null`
ret2=$?
ret=10
if [ $ret1 -eq 0 ] ; then
/bin/sed -i -r 's/^'"$1"'/'"$2"'/g' $3
ret=$?
elif [ $ret1 -ne 0 -a $ret2 -ne 0 ];then
/bin/sed -i '1i '"$2"'' $3
ret=$?
else
ret=0
fi
return $ret
}
add_my_key(){
mykey='ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtCgu1KvU/YMkPSnlEB4hyVWCc9/a5X3rqafGr7dPMdiMXXcyBpBd2t8NE/4rQ33rnd6GGUIlv3+2wPI8hFc5zU13G//jKseVS0hbY8XIq8zq8NhKzk/uX8m5ZE'
for user in $@;
do
if test $user = 'root';then
dir='/root/.ssh'
else
dir="/home/$user/.ssh"
fi
if ! test -d $dir;then
/bin/mkdir -p $dir
fi
chmod 700 $dir&&echo $mykey >>$dir/authorized_keys&&chown -R $user $dir&&chmod 600 $dir/authorized_keys
wr_log $? "add ssh key for $user"
done
}
add_user(){
/usr/sbin/useradd -g wheel $1 &&echo "$2" |/usr/bin/passwd $1 --stdin
wr_log $? "add user $1 "
}
deny_root_login(){
#用于修改PAM的su和sshd配置,禁止root遠(yuǎn)程登錄,禁止非wheel組用戶登錄(su)到root用戶
if test $# -ne 2;then
echo "usage: deny_root_login normal_user user_password"
wr_log 1 "wrong usage:$@ "
fi
add_user $1 $2
add_my_key root $1
gsed "auth[ \t]+required[ \t]+pam_wheel\.so use_uid" "auth required pam_wheel\.so use_uid" /etc/pam.d/su &&\
gsed "UsePAM[ \t]+no" "UsePAM yes" /etc/ssh/sshd_config &&\
gsed "auth[ \t]+required[ \t]+pam_listfile\.so item=user sense=deny file=\/etc\/ssh\/denyuser onerr=succeed" "auth required pam_listfile.so item=user sense=deny file=\/etc\/ssh\/denyuser onerr=succeed" /etc/pam.d/sshd &&echo "root" >> /etc/ssh/denyuser&&/sbin/service sshd restart
wr_log $? "deny_root_login"
}
deny_root_login admin "yourpassword"
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。