关于CentOS升级openSSH和centos升级openssh的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centons7.6升级openssl和openssh、CentOS5.8
关于CentOS 升级 openSSH和centos升级openssh的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centons7.6升级openssl和openssh、CentOS 5.8升级OpenSSH,OpenSSL到最新版、Centos 6.3 openssh升级、CentOS 6.5 升级 openssh等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- CentOS 升级 openSSH(centos升级openssh)
- Centons7.6升级openssl和openssh
- CentOS 5.8升级OpenSSH,OpenSSL到最新版
- Centos 6.3 openssh升级
- CentOS 6.5 升级 openssh
CentOS 升级 openSSH(centos升级openssh)
升级前后对比
openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞:
OpenSSH 远程代码执行漏洞(CVE-2016-10009)
OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515)
OpenSSH 远程代码执行漏洞(CVE-2016-10009)
升级前漏洞扫描和openSHH版本:
升级后漏洞扫描和openSHH版本:
主机系统centos7.3.1161升级openssh到当前最新版7.7p1以后使用root用户无法登陆,一直提示用户名密码错误(实际上用户名密码是对的)。下面对这个坑进行说明。
step 1 、升级前提说明:
1、升级OpenSSH后,原有公钥失效,信任关系需要重新配置;
2、升级过程需要停止sshd服务,会导致ssh和sftp无法使用;
3、升级OpenSSH影响的业务有:QDG同步、Mediation及现场自己写的同步脚本等;
4、升级需要关闭防火墙服务;
5、升级需要关闭selinux服务;
6、升级前需要开启telnet,防止升级失败,系统无法登录,对应的防火墙需要开启23端口,安装需要telnet相关包(推荐通过系统ISO安装)
7、升级过程中需要刷新lib库:ldconfig -v;
8、升级顺序:顺序是zlib库-> openssl -> openssh;
9、升级需要gcc、make、perl、zlib、zlib-devel、pam、pam-devel;
step 2 、版本升级说明
zlib-1.2.3 > zlib-1.2.11
OpenSSL 1.0.1e > OpenSSL 1.0.2o
OpenSSH 5.3p1 > OpenSSH 7.7p1
step 3、开启telnet(或者安装vnc)
一、开启telnet
临时开启telnet服务,用于升级ssh,同时方总升级ssh过程中主机无法登录。
1、挂载操作系统镜像
2、安装ftp所需系统包
yum -y install xinetd telnet telnet-server
3、允许root用户通过telnet登陆:
编辑/etc/pam.d/login,注释掉下面这行
vi /etc/pam.d/login
#auth [user_unkNown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
4、配置/etc/securetty
先备份/etc/securetty文件:
cp /etc/securetty /etc/securetty.bak
再配置
vi /etc/securetty
添加超级用户登陆设备。
添加超级用户登陆设备至/etc/securetty文件:
echo "pts/1" >> /etc/securetty
echo "pts/2" >> /etc/securetty
echo "pts/3" >> /etc/securetty
echo "pts/4" >> /etc/securetty
echo "pts/5" >> /etc/securetty
echo "pts/6" >> /etc/securetty
echo "pts/7" >> /etc/securetty
echo "pts/8" >> /etc/securetty
echo "pts/9" >> /etc/securetty
echo "pts/10" >> /etc/securetty
echo "pts/11" >> /etc/securetty
5、开启root用户远程登陆
编辑/etc/pam.d/remote,注释下列这行:
vi /etc/pam.d/remote
#auth required pam_securetty.so
6、重启telnet和xinetd服务【telnet服务依赖于xinetd服务】
systemctl start telnet.socket
systemctl start xinetd
PS:如果开启了防火墙,需要将23端口(系统默认23为telnet端口)添加到防火墙允许的端口的列表中。
7、开启telnet和xinetd开机自动启动
systemctl enable xinetd.service
systemctl enable telnet.socket
8、验证开机启动
systemctl list-unit-files |grep telnet
systemctl list-unit-files |grep xinetd
9、验证
telnet xxx.xxx.xx.xx
二、安装vnc
参考https://www.cnblogs.com/kevingrace/p/5821450.html,根据自己的需要进行选择性操作,如果做了防火墙,会拦截vnc服务或端口,我这里是直接安装,在检验的时候,才去设置防火墙:
1)安装vnc:
yum update
yum groupinstall "GNOME Desktop" "X Window System" "Desktop"
yum install tigervnc-server tigervnc vnc vnc-server
2)配置vnc连接
配置服务:
cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]:1.service
修改服务:
vi /etc/systemd/system/[email protected]:1.service
找到这一行
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
这里直接用root 用户登录为例,(其他用户同理)
进入编辑模式:
i键
修改为:
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
退出保存:
Esc键+:+wq
为VNC设密码(比如密码设置为123456)
vncpasswd
123456
123456
重加载 systemd
systemctl daemon-reload
启动vnc
systemctl enable
systemctl start
3)检查vnc连接
【1】通过端口检查
lsof -i:5901
【2】进程检查
ps -ef | grep Xvnc
【3】服务检查
systemctl status
【4】桌面VNC_Viewer连接测试:在两个互通的主机之间测试
前面三个检查都正常,但是在VNC_Viewer连接不上:很可能是防火墙的问题,现在就需要去设置防火墙(iptables或firewalld)了:
1)iptables设置端口白名单:
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 5901 -j ACCEPT
service iptables restart
2)关闭firewalld:
systemctl status firewalld
systemctl stop firewalld
配置之后即可进行登录
登录之后,打开终端,即可进行操作(与CRT 、Xshell类似):
step 4、安装包准备
1、软件包下载地址:
zlib-1.2.11.tar.gz
http://www.zlib.net/
openssl-1.0.2o.tar.gz
https://www.openssl.org/source/
openssh-7.7p1.tar.gz
https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
2、创建上传目录
mkdir -p /soft/zlib
mkdir -p /soft/openssl
mkdir -p /soft/openssh
3、bin模式上传介质
step 4、关闭防火墙和selinux
systemctl status firewalld.service
检查防火墙状态,如果在运行停掉。
systemctl stop firewalld.service
关闭开机自启动
systemctl disable firewalld
step 4 、验证selinux是否关闭
getenforce
已关闭
如果未关闭,关闭之
setenforce 0
上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。
vi /etc/selinux/config
修改:
SELINUX=disabled
保存退出。
step 7、安装openssh升级依赖包
检查相关依赖包是否安装
rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"
如果没有则安装
yum -y install gcc make perl zlib zlib-devel pam pam-devel
step 8、正式开始升级openssh
PS: telnet登录操作,升级顺序:zlib库-> openssl -> openssh。
1、停止sshd服务
检查
systemctl is-active sshd
停止
systemctl stop sshd
检查
systemctl is-active sshd
停止之后,无法用ssh维护了,可以通过vnc或者telnet维护
2、卸载系统里原有Openssh
查看系统原有openssh包
rpm -qa | grep openssh
yum remove MysqL-community-client MysqL-community-common MysqL-community-libs MysqL-community-libs-compat MysqL-community-server MysqL57-community-release
rm -rf /var/lib/MysqL
rm /etc/my.cnf
根据上面查询出的结果,卸载系统里原有Openssh
rpm -e --nodeps ‘rpm -qa | grep openssh‘
rpm -e --nodeps ‘rpm -qa | grep MysqL‘
验证
rpm -qa | grep openssh
3、编译安装zlib
解压安装zlib
cd /soft/zlib
tar -xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make
make test
make install
验证zlib安装是否成功
ll /usr/local/zlib
要包含include、lib、share上个目录。
新建并编辑配置文件:/etc/ld.so.conf.d/zlib.conf
vi /etc/ld.so.conf.d/zlib.conf
加入如下内容后保存退出
/usr/local/zlib/lib
刷新库文件
ldconfig -v,刷新库文件,加载刚才编译安装的zlib生成的库文件
ldconfig -v
4、升级OpenSSL
进入安装包路径
cd /soft/openssl
解压安装openssl包
tar -xzvf openssl-1.0.2o.tar.gz
编译openssl
cd openssl-1.0.2o
./config shared zlib
make
make test
make install
重命名现有文件目录
mv /usr/bin/openssl /usr/bin/openssl.bak
创建ssl相关软连接
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
编辑配置文件/etc/ld.so.conf.d/ssl.conf
vi /etc/ld.so.conf.d/ssl.conf
加入如下内容后保存退出
/usr/local/ssl/lib
刷新库文件
ldconfig -v,刷新库文件,加载刚才编译安装的ssl生成的库文件
ldconfig -v
查看openssl版本
openssl version -a
5、升级OpenSSH
重命名原有配置文件
mv /etc/ssh /etc/ssh.bak
解压openssh
cd /soft/openssh
tar -xzvf openssh-7.7p1.tar.gz
cd openssh-7.7p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-zlib=/usr/local/zlib
上面为一行。
make
make install
6、验证openssh版本
(启动后)升级前
ssh -V
(没启动)升级后
/usr/local/openssh/bin/ssh -V
7、设置sshd服务开机自动启动
拷贝配置文件
cp /soft/openssh/openssh-7.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp /home/ecmp/temp/openssh-7.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
修改配置文件权限
chmod u+x /etc/init.d/sshd
添加sshd服务
chkconfig --add sshd
验证开机启动
chkconfig --list|grep sshd
8、设置 ssh -V验证码版本
替换配置文件
cp /soft/openssh/openssh-7.7p1/sshd_config /etc/ssh/sshd_config
cp /home/ecmp/temp/openssh-7.7p1/sshd_config /etc/ssh/sshd_config
编辑sshd_config文件
将subsystem sftp路径变更为实际路径/usr/local/openssh/libexec/sftp-server
vi /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/sftp-server
注释掉,换为如下一句:
Subsystem sftp /usr/local/openssh/libexec/sftp-server
拷贝命令
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
拷贝sshd命令至/usr/bin/
cp /usr/local/openssh/bin/ssh /usr/bin/
检查版ssh本
ssh -V
9、密码认证和允许root用户远程直接登录
拷贝ssh-keygen
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
修改配置文件/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#PasswordAuthentication yes 行取消注释
PasswordAuthentication yes
并下面添加
PermitRootLogin yes
PS:如果不允许root用户远程直接登录,这里配置为PermitRootLogin no;
10、重启sshd服务
启动
service sshd restart
11、验证sshd是否有效
1)验证服务
systemctl is-active sshd
启动后
启动前
2)查看22端口监听
netstat -an |grep LISTEN|grep :22
启动前
启动后
3)直接CRT登录
启动前
启动后
4)互通之前跳转
启动前,无法用ssh维护了,可以通过vnc或者telnet维护
启动后
5)本地登录测试
ssh [email protected]
【1】Root用户
[[email protected] openssh-7.7p1]# ssh [email protected]
The authenticity of host ‘192.168.43.211 (192.168.43.211)‘ can‘t be established.
ECDSA key fingerprint is SHA256:ri3JqvmpBItq8Ezz03Tzsom4oHs40pdsPLb+X9KyvMY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.43.211‘ (ECDSA) to the list of kNown hosts.
[email protected]‘s password:
Last login: Sat Aug 4 05:19:42 2018 from ::ffff:192.168.43.212
使用root用户登录,正常,则成功,若报错(一次性通过,未遇到报错,报错的请自己验证),
【2】普通用户
[email protected][/data/openssh]#ssh [email protected]
[email protected]‘s password:
Last login: Sat May 19 12:24:33 2018 from 192.168.254.36
[email protected][/home/wufan]$
是可以的。
下面修改:
vi /etc/init.d/sshd
在$SSHD $OPTIONS && success || failure这句话前面加一句:
OPTIONS="-f /etc/ssh/sshd_config"
配置如下:
- echo -n $"Starting $prog:"
- OPTIONS="-f /etc/ssh/sshd_config"
- $SSHD $OPTIONS && success || failure
- RETVAL=$?
保存退出。
重启sshd服务:
systemctl restart sshd
再次登录就可以了。
Vnc重加载报错(Unregistered Authentication Agent for unix-process):
错误展示
Job for [email protected]:1.service Failed because the control process exited with error code. See "systemctl status [email protected]:1.service" and "journalctl -xe" for details.
运行它给出的两个命令,发现详情如下
通过下面这句话我们分析得知,是未有效注册:
Unregistered Authentication Agent for unix-process:82157:287486490 (system bus name :1.11897,object path /org/freedesktop/PolicyKit1/Authen
解决方法
解决办法就是为VNC设密码(比如密码设置为123456):
vncpasswd
重加载启动:
重加载 systemd
systemctl daemon-reload
让vnc服务生效
systemctl enable [email protected]:1.service
启动vnc
systemctl start [email protected]:1.service
vi /etc/ssh/sshd_config
Subsystem sftp /home/ecmp/temp/openssh-7.7p1/sftp-server
Centons7.6升级openssl和openssh
安装需注意
在安装时需要卸载OpenSSH,卸载后除当前打开窗口外,不在接受新的SSH连接。
可以安装Telnet,通过Telnet代替SSH连接,直到升级完毕再关闭Telnet
查看操作系统版本
lsb_release -a
输入后会显示下面这些信息,我的版本号是7.6.1810
lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch
distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
查询当前版本
ssh -V
openssl version
下载安装包
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
wget
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
卸载openssh和openssl
yum remove openssl openssl-devel openssh -y
安装顺序,先安装openssl,后安装openssh
openssl安装
安装依赖
yum install gcc perl zlib zlib-devel -y
编译安装
tar -zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config shared zlib --prefix=/usr/local/openssl
–openssldir=/usr/local/openssl/sslmake
make install
配置
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig -v
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
查看版本
openssl version
接下来安装openssh
安装依赖
yum -y install pam-devel
编译安装
tar -zxvf openssh-8.6p1.tar.gz
cd openssh-8.6p1
./configure --prefix=/usr --sysconfdir=/etc/ssh
–with-openssl-includes=/usr/local/openssl/include/ --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords–with-pammake
make install
配置
echo “PermitRootLogin yes” >> /etc/ssh/sshd_config
echo “UsednS no” >> /etc/ssh/sshd_config
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
systemctl enable sshd
chkconfig sshd on
chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
/etc/init.d/sshd restart
查看版本
ssh -V
OpenSSH_8.6p1, OpenSSL 1.1.1l 24 Aug 2021
升级完成
CentOS 5.8升级OpenSSH,OpenSSL到最新版
因业务系统安全要求需要升级OpenSSH版本到最新版。原有CentOS 5.8系统自带版本如下。
[root@localhost ~]# lsb_release -a LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:pri nting-4.0-noarchdistributor ID: CentOS Description: CentOS release 5.8 (Final) Release: 5.8 Codename: Final [root@localhost ~]# ssh -V OpenSSH_4.3p2,OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
升级版本:
经过多次验证最终确定使用ssh最新版本openssh-7.3p1和openssl 0.9.8的最终版本openssl-0.9.8zg(CentOS 5.8安装openssl的1.x版本有很多问题,不建议使用)。而且openssh-7.3p1最低要求openssl 0.9.8f。
openssl-0.9.8zg并不涉及OpenSSLCVE-2014-0160漏洞 (心脏出血漏洞)。目前有漏洞的版本有:1.0.1-1.0.1f
(包含1.0.1f)以及1.0.2-beta
。参考:https://segmentfault.com/a/1190000000461002
安装编译环境
yum -y install gcc openssl-devel pam-devel rpm-build
步骤1:开启telnet服务已确保ssh升级失败可以控制主机
安装并开启telnet服务。
[root@localhost ~]# yum install -y xinetd telnet-server [root@localhost ~]# vim /etc/xinetd.d/krb5-telnet # default: off # description: The kerberized telnet server accepts normal telnet sessions,\ # but can also use Kerberos 5 authentication. service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/kerberos/sbin/telnetd log_on_failure += USERID disable = no #修改disable为no,默认为yes,即禁用telnet服务。修改为no,即表示启用telnet服务 } [root@localhost ~]# service xinetd restart [root@localhost ~]# netstat -tnlp | grep :23 tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN -
Telnet是不能以root直接登陆的,需要提前建立一个普通用户并设置密码。以普通用户登录后再su切换root,SSH升级成功后,记得关闭telnet服务。
[root@localhost ~]# useradd meng [root@localhost ~]# passwd meng
通过其他服务器测试telnet登录保证可以使用。确保防火墙允许telnet服务,即打开23端口。
[root@localhost ~]# telnet 192.168.1.10 Trying 192.168.1.10... Connected to 192.168.1.10 (192.168.1.10). Escape character is '^]'. localhost.localdomain (Linux release 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012) (2) login: meng Password:
一切就绪,准备开始。
步骤2:安装新版openssl
生成openssl-0.9.8zg RPM包
[root@localhost x86_64]# cd /opt [root@localhost x86_64]# wget https://www.openssl.org/source/openssl-0.9.8zg.tar.gz [root@localhost x86_64]# cp openssl-0.9.8zg.tar.gz /usr/src/redhat/SOURCES/ [root@localhost x86_64]# tar xvf openssl-0.9.8zg.tar.gz [root@localhost x86_64]# cp openssl-0.9.8zg/openssl.spec /usr/src/redhat/Specs/ [root@localhost x86_64]# rpmbuild /usr/src/redhat/Specs/openssl.spec [root@localhost x86_64]# cd /usr/src/redhat/RPMS/x86_64/ [root@localhost x86_64]# ls openssl* -l -rw-r--r-- 1 root root 1279018 Nov 6 01:01 openssl-0.9.8zg-1.x86_64.rpm -rw-r--r-- 1 root root 113834 Nov 6 01:01 openssl-debuginfo-0.9.8zg-1.x86_64.rpm -rw-r--r-- 1 root root 2237915 Nov 6 01:01 openssl-devel-0.9.8zg-1.x86_64.rpm -rw-r--r-- 1 root root 607823 Nov 6 01:01 openssl-doc-0.9.8zg-1.x86_64.rpm
安装openssl,安装时需要使用--nodeps选项,否则会报很多软件包的依赖错误“libcrypto.so.6 is needed by (installed) openldap-2.3.43-3.el5.i386”等等。
rpm --nodeps -Uvh openssl-0.9.8zg-1.i386.rpm openssl-devel-0.9.8zg-1.i386.rpm
安装后会导致yum等无法使用,提示“libcrypto.so.0.9.8 is not a symbolic link”或“libssl.so.6 is not a symbolic link”。需要执行以下命令增加链接库的软链接。
ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6 ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6 ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib64/libcrypto.so.6 ln -s /usr/lib/libssl.so.0.9.8 /usr/lib64/libssl.so.6
此时执行ssh -V会提示“ssh: symbol lookup error: ssh: undefined symbol: FIPS_mode”错误。继续安装ssh新版本即可。
步骤3:安装新版openssh
下载并编译opensshRPM包。下载地址:http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/,选择最新版下载。
[root@localhost ~]# cd /opt [root@localhost ~]# yum -y install libX11-devel libXt-devel gtk2-devel [root@localhost ~]# wget http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.3p1.tar.gz [root@localhost ~]# tar zxvf openssh-7.3p1.tar.gz [root@localhost ~]# cp openssh-7.3p1/contrib/redhat/openssh.spec /usr/src/redhat/Specs/ [root@localhost ~]# cp openssh-7.3p1.tar.gz /usr/src/redhat/SOURCES/ [root@localhost ~]# cd /usr/src/redhat/Specs [root@localhost ~]# perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec [root@localhost ~]# rpmbuild -bb openssh.spec [root@localhost ~]# cd /usr/src/redhat/RPMS/x86_64 [root@localhost x86_64]# ls openssh-* -l -rw-r--r-- 1 root root 737241 Nov 6 01:41 openssh-7.3p1-1.x86_64.rpm -rw-r--r-- 1 root root 43458 Nov 6 01:41 openssh-askpass-7.3p1-1.x86_64.rpm -rw-r--r-- 1 root root 22868 Nov 6 01:41 openssh-askpass-gnome-7.3p1-1.x86_64.rpm -rw-r--r-- 1 root root 933212 Nov 6 01:41 openssh-clients-7.3p1-1.x86_64.rpm -rw-r--r-- 1 root root 16799 Nov 6 01:41 openssh-debuginfo-7.3p1-1.x86_64.rpm -rw-r--r-- 1 root root 456630 Nov 6 01:41 openssh-server-7.3p1-1.x86_64.rpm [root@localhost x86_64]# rpm -Uvh openssh-7.3p1-1.x86_64.rpm openssh-askpass-7.3p1-1.x86_64.rpm openssh-server-7.3p1-1.x86_64.rpm openssh-clients-7.3p1-1.x86_6 4.rpm
安装后查看版本。
[root@localhost x86_64]# ssh -V OpenSSH_7.3p1,OpenSSL 0.9.8zg 11 Jun 2015
新版本安装后默认禁止root远程登录需要修改sshd配置文件。修改后重启ssh服务。
[root@localhost x86_64]# vim /etc/ssh/sshd_config #LoginGraceTime 2m PermitRootLogin yes #去掉注释 #StrictModes yes #MaxAuthTries 6 [root@localhost x86_64]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
测试远程登录,yum等。远程登录成功后关闭telnet服务。
如果还有其他服务器需要升级。直接安装RPM即可。
[root@localhost opt]# ls openssh-askpass-gnome-7.3p1-1.x86_64.rpm openssh-server-7.3p1-1.x86_64.rpm openssl-devel-0.9.8zg-1.x86_64.rpm openssh-7.3p1-1.x86_64.rpm openssh-clients-7.3p1-1.x86_64.rpm openssl-0.9.8zg-1.x86_64.rpm openssl-doc-0.9.8zg-1.x86_64.rpm openssh-askpass-7.3p1-1.x86_64.rpm openssh-debuginfo-7.3p1-1.x86_64.rpm openssl-debuginfo-0.9.8zg-1.x86_64.rpm [root@localhost opt]# rpm --nodeps -Uvh openssl* Preparing... ########################################### [100%] 1:openssl ########################################### [ 25%] 2:openssl-debuginfo ########################################### [ 50%] 3:openssl-devel ########################################### [ 75%] 4:openssl-doc ########################################### [100%] [root@localhost opt]# ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so.6 [root@localhost opt]# ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.6 [root@localhost opt]# ln -s /usr/lib/libcrypto.so.0.9.8 /usr/lib64/libcrypto.so.6 [root@localhost opt]# ln -s /usr/lib/libssl.so.0.9.8 /usr/lib64/libssl.so.6 [root@localhost opt]# rpm --nodeps -Uvh openssh-* Preparing... ########################################### [100%] 1:openssh ########################################### [ 17%] 2:openssh-askpass ########################################### [ 33%] 3:openssh-askpass-gnome ########################################### [ 50%] 4:openssh-clients ########################################### [ 67%] 5:openssh-debuginfo ########################################### [ 83%] 6:openssh-server ########################################### [100%] [root@localhost opt]# vim /etc/ssh/sshd_config #PermitRootLogin prohibit-password #禁用 PermitRootLogin yes #允许root通过密码登录 [root@localhost opt]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] [root@localhost opt]# ssh -V OpenSSH_7.3p1,OpenSSL 0.9.8zg 11 Jun 2015
RPM包下载地址:链接:http://pan.baidu.com/s/1eR7438e 密码:ugii
本文参考以下blog,经过亲自测试整理。
http://blog.chinaunix.net/uid-6984-id-5120601.html
http://hxl2009.blog.51cto.com/779549/1035652
Centos 6.3 openssh升级
Centos 6.3 openssh升级(安全漏洞修复)
方法/步骤
注意:先多开几个crt客户端,就算过程中ssh安装失败,也还可以操作服务器,不会中断
1 准备
(1)下载安装包
https://www.openssl.org/source/openssl-1.0.2l.tar.gz
https://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
(2)安装包
yum -y install gcc* make perl pam pam-devel zlib zlib-devel
2 升级openssl
(1)备份当前openssl文件
find / -name openssl
mv /usr/lib64/openssl/usr/lib64/openssl.old
mv /usr/bin/openssl/usr/bin/openssl.old
cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old
cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old
(2)卸载当前openssl
rpm -e `rpm -qa | grep openssl` --nodeps
rpm -qa | grep openssl
(3)进入解压的文件目录并编译安装
cd openssl-1.0.2k
编译文件
./config --prefix=/usr--openssldir=/etc/ssl --shared zlib
make
make install
查看是否升级成功
openssl version -a
==============================================
3 升级openssh
(1)停止当前ssh服务,并备份
service sshd stop---停止服务
mv /etc/ssh /etc/ssh.old----备份服务
(2)查询并卸载openssh
先卸载完旧版本的openssh
rpm -e `rpm -qa | grep openssh` --nodeps (yumremove openssh* -y)
cd openssh-7.5p1
编译
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam--with-ssh1 --with-zlib
--with-openssl-includes=/usr--with-privsep-path=/var/lib/sshd
make
make install
(3)安装后环境配置
cp ./contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig --list |grep sshd
chkconfig sshd on
service sshd start
ssh -V
出现如下提示说明ssh升级成功,现在的openssh版本为OpenSSH_7.5p1,openssl版本为OpenSSL 1.0.2k
----------------------------------------------------------
vim /etc/ssh/sshd_config
添加PermitRootLogin yes
到文件末尾
service sshd restart
4 若失败,可以重新安装OpenSSH
CentOS 6 安装OpenSSH Server
yum install openssh-server
yum -y install openssh-clients
chkconfig --list sshd
chkconfig sshd on
/etc/init.d/sshd start
CentOS 6.5 升级 openssh
最近有空复习了一下 Linux,在虚拟机上安装了个 CentOS6.5,顺便升级一下系统自带的 openssh,任何系统操作都有风险,正式环境请做好备份工作。废话少说,直接贴代码。
1、准备工作,相应的包自己到官方下载,另外需要下载依赖包 openssl 以及 zlib 包。
openssh 下载地址:http://www.openssh.com/portable.html#http
openssl 下载地址:http://www.openssl.org/source/
zlib 下载地址:http://zlib.net/zlib-1.2.8.tar.gz
2、卸载系统自带的 openssh,卸载之前先停止 sshd 服务,再用 rpm 删除,同时清除系统 /etc/ssh 目录
[root@CentOS tmp]# service sshd stop
Stopping sshd: [ OK ]
[root@CentOS tmp]# rpm -qa openssh
openssh-5.3p1-94.el6.x86_64
[root@CentOS tmp]# rpm -e openssh-server
[root@CentOS tmp]# rpm -e openssh-clients
[root@CentOS tmp]# rpm -e openssh-askpass
[root@CentOS tmp]# rpm -e openssh
[root@CentOS tmp]# rm -rf /etc/ssh
3、安装 zlib
[root@CentOS tmp]# tar -xvf zlib-1.2.8.tar.gz
[root@CentOS tmp]# cd zlib-1.2.8
[root@CentOS zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install
4、安装 openssl
[root@CentOS tmp]# tar -xvf openssl-1.0.1i.tar.gz
[root@CentOS tmp]# cd openssl-1.0.1i
[root@CentOS openssl-1.0.1i]# ./config --prefix=/usr/local/openssl && make && make install
5、安装 openssh
[root@CentOS tmp]# tar -xvf openssh-6.6p1.tar.gz
[root@CentOS tmp]# cd openssh-6.6p1
[root@CentOS openssh-6.6p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --without-hardening && make && make install
6、修改配置文件
[root@CentOS openssh-6.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@CentOS openssh-6.6p1]# chmod +x /etc/init.d/sshd
[root@CentOS openssh-6.6p1]# vi /etc/init.d/sshd
修改对应指令的安装目录
=============================
25行 SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd
41行 /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A
=============================
保存退出
7、加入到系统服务
[root@CentOS openssh-6.6p1]# chkconfig --add sshd
[root@CentOS openssh-6.6p1]# service sshd start
8、编译中遇到的错误,参考博文 http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享
configure: error: *** Can''t find recent OpenSSL libcrypto (see config.log for details) ***
我们今天的关于CentOS 升级 openSSH和centos升级openssh的分享已经告一段落,感谢您的关注,如果您想了解更多关于Centons7.6升级openssl和openssh、CentOS 5.8升级OpenSSH,OpenSSL到最新版、Centos 6.3 openssh升级、CentOS 6.5 升级 openssh的相关信息,请在本站查询。
本文标签: