http://blog.csdn.net/lqy461929569/article/details/76148598
前段时间因为要修复openssh的漏洞,官方说法是升级openssh,所以就选择了升级到 openssh-7.5p1 ,升级openssh连带要升级openssl。 漏洞信息:
Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)
OpenSSH 远程权限提升漏洞(CVE-2016-10010)
操作系统:
CentOS-7-x86_64-Minimal-1611
软件包:
openssh-7.5p1.tar.gz
openssl-1.0.2l.tar.gz
(openssl不可以选用1.1.X 版本,否则openssh编译时会报错)
关闭selinux
vim /etc/sysconfig/selinux
修改 SELINUX=disabled
一、升级之前最好先把telnet开起来,防止意外导致ssh无法连接
yum install -y telnet-server
yum install -y xinetd
systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd
默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容:
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
service xinetd restart #重启服务
验证登录:
如下图示,登录成功。
二、升级openssl
升级前的版本
上传程序包到服务器
安装依赖包:
yum -y install pam-devel.x86_64 zlib-devel.x86_64
卸载旧版程序:
rpm -e --nodeps
rpm -qa|grep openss
解压缩:
tar -zxvf openssl-1.0.2l.tar.gz
进入解压路径:
cd openssl-1.0.2l
编译安装:
./config --prefix=/usr --shared && make && make install
创建软链接:
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10
验证版本信息:
openssl version -a
openssl升级完成。
三、升级openssh
备份旧ssh配置文件 /etc/ssh :
mv /etc/ssh/ /home/ssh-bak
解压:
tar -zxvf openssh-7.5p1.tar.gz
进入解压路径:
cd openssh-7.5p1
编译安装:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords
make && make install
复制pam的头文件:
cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
(这里的pam其实是没有启用的,所以这一步可以省略,在sshd_config中如果开启pam会出现无法连接的情况,这个问题有待研究)
复制启动脚本:
cp contrib/redhat/sshd.init /etc/init.d/sshd
设置开机启动:
chkconfig sshd on
编辑ssh配置文件:
vim /etc/ssh/sshd_config
取消注释 PasswordAuthentication yes
验证版本信息:
ssh -V
重启ssh服务
service sshd restart
会发现连接不上,这个问题是selinux修改要生效需要重启机器
重启机器后连接成功
升级完成
ssh服务器拒绝密码
http://blog.csdn.net/u013366098/article/details/50542517
用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录
修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会有这个文件,如果文件不存在请检查是否安装了openssh。
vim /etc/ssh/sshd_config
找到:
#Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
修改为:
#Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
/etc/init.d/ssh restart #重启ssh服务即可