centos7.6升级openssh9.3p1,openssl1.1.1t

一、安装前查看系统及版本

复制代码
# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
# ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

二、安装步骤

1.下载tar包

bash 复制代码
​wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz --no-check-certificate
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz 
wget http://www.zlib.net/zlib-1.2.13.tar.gz

解压到指定路径:

bash 复制代码
tar zxvf openssl-1.1.1t.tar.gz -C /usr/local/src/
tar zxvf openssh-9.3p1.tar.gz -C /usr/local/src/
tar zxvf zlib-1.2.13.tar.gz -C /usr/local/src 

2.安装相关依赖和gcc编译工具

bash 复制代码
yum -y install gcc gcc-c++ kernel-devel
yum -y install pam pam-devel zlib zlib-devel

3.安装zlib

bash 复制代码
cd /usr/local/src/zlib-1.2.13/
./configure --prefix=/usr/local/zlib && make -j 4 && make install

4.安装openssl

bash 复制代码
​cd /usr/local/src/openssl-1.1.1t/
./config --prefix=/usr/local/ssl -d shared

make -j 4 && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v

5.安装openssh

bash 复制代码
mv /etc/ssh /etc/ssh.bak
cd /usr/local/src/openssh-9.3p1/
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib 

make -j 4 && make install

6.修改配置文件

(1)sshd_config文件修改

bash 复制代码
echo "X11Forwarding yes" >> /etc/ssh/sshd_config
echo "X11UseLocalhost no" >> /etc/ssh/sshd_config
echo "#XAuthLocation /usr/bin/xauth" >> /etc/ssh/sshd_config
echo "UseDNS no" >> /etc/ssh/sshd_config
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

需要添加X11Forwarding yes开启X11转发,调用图形界面,如oracle安装等操作需要图形界面

***必须添加X11UseLocalhost no 和 XAuthLocation /usr/bin/xauth 这两项,否则X11转发不好使

验证X11转发是否好使,xhost + 出现下面的是可以正常使用的

(2) 备份 /etc/ssh 原有文件,并将新的配置复制到指定目录

bash 复制代码
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh 
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

安装完成,查看版本ssh -V

bash 复制代码
# ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1t  7 Feb 2023

7.启动sshd

bash 复制代码
systemctl restart sshd

开机自启

bash 复制代码
systemctl enable sshd 

9.天翼云服务器启动sshd问题

拷贝系统启动文件

bash 复制代码
cp /usr/local/src/openssh-9.3p1/contrib/redhat/sshd.init /etc/init.d/sshd

把原先的systemd管理的sshd文件移走,不然影响重启sshd服务

bash 复制代码
mv  /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
systemctl daemon-reload

将sshd添加到系统服务

bash 复制代码
chkconfig --add sshd
chkconfig sshd on

# chkconfig --list

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

denyhosts       0:on    1:on    2:on    3:on    4:on    5:on    6:on
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off

重启sshd

bash 复制代码
service sshd status
service sshd restart

10.注意

注意:升级后由于加密算法的区别,低版本的SSH工具可能无法连接,建议改用Xshell7或SecureCRT9.0以上版本。

相关推荐
MadPrinter2 分钟前
FindQC 实战 (一):基于 SerpApi 的电商高质量图片自动化筛选算法初探
运维·python·算法·自动化
胡萝卜的兔2 分钟前
ci/cd自动化部署
运维·ci/cd·自动化
倔强的石头1064 分钟前
Linux 进程深度解析(一):从内核视角看懂进程的本质
linux·运维·服务器
saber_andlibert5 分钟前
【docker】入门基础和镜像、容器
linux·运维·docker·容器
不想画图6 分钟前
数据库概念和编译安装mysql流程
linux·数据库·mysql
小醉你真好7 分钟前
18、CentOS 9 使用 1Panel 安装 Jenkins
linux·centos·jenkins
郝学胜-神的一滴8 分钟前
Linux信号的概念与机制
linux·服务器·开发语言·c++·程序人生
沐雨风栉8 分钟前
被局域网困住的文件?cpolar让 Go File 随时随地能用
运维·服务器·开发语言·数据库·后端·缓存·golang
ManageEngineITSM10 分钟前
把问题“消灭在未来”:IT 资产管理软件与问题管理的深度融合逻辑
大数据·运维·人工智能·itsm·工单系统
退役小学生呀10 分钟前
二十五、基于ArgoCD的K8s多集群管理方案及落地
运维·云原生·容器·kubernetes·devops