Centos 7.2 升级openssh

在网络上看到许多资料基本都是转来转去,不知道有没有人实践,个人从实际经验总结一下,顺便把拿来主义进行的彻底一些。

行规1:先测试,再生产。

行规2:先备份,再操作。

行规3,记住一定要有退路。

本身升级openssh一般来讲很简单,configure & make &  make install 喝茶休息。

----实际操练如下:

cat /etc/redhat-release     #查看版本
CentOS Linux release 7.2.1511 (Core)
rpm -aq openssh     #查看openssh版本
openssh-6.6.1p1-22.el7.x86_64
rpm -qa | grep openssh|xargs rpm -e --nodeps    #卸载查到的openssh


systemctl stop sshd
systemctl is-active sshd

rpm -qa | grep openssh  #验证是否卸载

----假设当前目录为/fix/openssh
cd /fix/openssh

wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz   #下载最新的openssh版本

wget http://www.zlib.net/zlib-1.2.11.tar.gz    #下载openssh对应的需要用到的zlib

wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2o.tar.gz   #从网上查到对应的opensshl,没有测试新版本是否支持,理论上应该支持

#三个档下载后保存上传至需要升级的主机。


tar -xzvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib
 make test
 make install
 make clean
./configure --shared
 make test
 make install
 cp zutil.h /usr/local/include
 cp zutil.c /usr/local/include

编辑配置文件
加入如下内容后保存退出
vi /etc/ld.so.conf.d/zlib.conf
/usr/local/zlib/lib

ldconfig -v  #刷新库文件


tar -xzvf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o
./config shared zlib
make
make test
make install

重命名现有文件目录
mv /usr/bin/openssl /usr/bin/openssl.OFF
创建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    #刷新库文件

查看openssl版本
openssl version -a

升级OpenSSH

重命名原有配置文件
mv /etc/ssh /etc/ssh.bak

tar -zxf openssh-7.9p1.tar.gz
cd openssh-7.9p1

./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

cp openssh-7.9p1/contrib/redhat/sshd.init /etc/init.d/sshd  

chmod u+x /etc/init.d/sshd

vi /etc/init.d/sshd   #修改脚本文件
        echo -n $"Starting $prog:"
        OPTIONS="-f /etc/ssh/sshd_config"    #就是增加此行
        $SSHD $OPTIONS && success || failure
        RETVAL=$?
        

vi /etc/ssh/sshd_config

PasswordAuthentication yes #取消这一行注释

PermitRootLogin yes #添加PermitRootLogin yes行  本次涉及安全限制可以不用加或把yes 改成 no 即禁止root登录

systemctl daemon-reload

 

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

systemctl enable sshd


ssh -V

#修复xftp升级后不能用
locate sftp-server
/usr/local/openssh/libexec/sftp-server

vi /etc/ssh/sshd_config
Subsystem    sftp    /usr/local/openssh/libexec/sftp-server

systemctl restart sshd


###End###
注:每一步都按命令执行,如有报错请及时反馈,因为过程不可逆,有一定风险。尽量不要断开shell状态。完成后新建一个窗口测试没有问题再断开。否则只能利用控制台处理了。还有友好提示是zlib本身版本如果用rpm查询并没有升级,只是库做了更新。不影响openssh 的升级。
友情提示:条件可以的话可以安装telnet 或vnc之类的工具作为备用连接。

 

 

您好!要将CentOS 7.2升级OpenSSH 7.9p1,您可以按照以下步骤操作: 1. 首先,确保您的系统已经更新到最新的软件包和补丁。您可以使用以下命令进行系统更新: ``` sudo yum update ``` 2. 安装OpenSSH软件包。使用以下命令安装OpenSSH: ``` sudo yum install openssh ``` 3. 确认OpenSSH已成功安装。使用以下命令检查OpenSSH版本: ``` ssh -V ``` 如果显示的版本不是7.9p1,请继续以下步骤。 4. 下载OpenSSH 7.9p1的源代码。您可以从OpenSSH官方网站下载最新版本的源代码:https://www.openssh.com/ 5. 解压下载的源代码包。使用以下命令解压源代码包: ``` tar -zxvf openssh-7.9p1.tar.gz ``` 6. 进入解压后的目录。使用以下命令进入解压后的目录: ``` cd openssh-7.9p1 ``` 7. 配置和编译OpenSSH。使用以下命令进行配置和编译: ``` ./configure make ``` 8. 停止当前运行的OpenSSH服务。使用以下命令停止OpenSSH服务: ``` sudo systemctl stop sshd ``` 9. 安装新编译的OpenSSH。使用以下命令安装新编译的OpenSSH: ``` sudo make install ``` 10. 启动OpenSSH服务。使用以下命令启动OpenSSH服务: ``` sudo systemctl start sshd ``` 11. 验证OpenSSH版本。使用以下命令再次检查OpenSSH版本: ``` ssh -V ``` 现在您的CentOS 7.2系统应该已经升级OpenSSH 7.9p1版本了。 请注意,升级操作可能会有风险,请确保在操作前备份重要数据,并确保您对系统有足够的了解和熟悉以及足够的权限来执行这些操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值