CentOS7.x从openssh7.4p1升级到openssh8.4p1
1、升级准备工作
1.1、查看系统版本和ssh版本
cat /etc/redhat-release ssh -V
1.2、需要将openssh升级到最新版本
直接yum安装即可
yum install openssh -y
可以看已经升级到7.4p1了,下面将从openssh7.4p1升级到openssh8.4p1
1.3、安装需要的依赖包
yum -y install gcc gcc-c++ kernel-devel
2、安装包准备
2.1、下载安装包
zlib-1.2.11.tar.gz 下载地址:http://www.zlib.net/zlib-1.2.11.tar.gz 也可以直接下载:wget http://www.zlib.net/zlib-1.2.11.tar.gz
openssl-1.1.1h.tar.gz 下载地址:https://www.openssl.org/source/openssl-1.1.1h.tar.gz 也可以直接下载:wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz
openssh-8.4p1.tar.gz 下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz 也可以直接下载:wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
查看安装包:
2.2、解压安装包,我习惯将安装包解压到/usr/local/src下面
tar xf openssh-8.4p1.tar.gz -C /usr/local/src/ tar xf openssl-1.1.1h.tar.gz -C /usr/local/src/ tar xf zlib-1.2.11.tar.gz -C /usr/local/src/ ll /usr/local/src/
3、安装
3.1、安装zlib-1.2.11.tar.gz
[root@test3 ~]# cd /usr/local/src/zlib-1.2.11/ [root@test3 zlib-1.2.11]# ./configure --prefix=/usr/local/zlib && make -j 4 && make install
3.2、安装 openssl-1.1.1h.tar.gz
[root@test3 zlib-1.2.11]# cd /usr/local/src/openssl-1.1.1h/ [root@test3 openssl-1.1.1h]# ./config --prefix=/usr/local/ssl -d shared
[root@test3 openssl-1.1.1h]# make -j 4 && make install
[root@test3 openssl-1.1.1h]# echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
[root@test3 openssl-1.1.1h]# ldconfig -v
3.3、安装openssh-8.4p1.tar.gz
mv /etc/ssh /etc/ssh.bak cd /usr/local/src/openssh-8.4p1/ ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib make -j 4 && make install
sshd_config文件修改
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 echo 'KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1' >> /etc/ssh/sshd_config
需要添加X11Forwarding yes开启X11转发,调用图形界面,如oracle安装等操作需要图形界面
***必须添加X11UseLocalhost no 和 XAuthLocation /usr/bin/xauth 这两项,否则X11转发不好使
验证X11转发是否好使,xhost + 出现下面的是可以正常使用的
出现下面的内容是不能正常使用的
备份 /etc/ssh 原有文件,并将新的配置复制到指定目录
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
4、启动sshd
直接systemctl start sshd,启动不起来,报错,但用sshd -t检查也没有啥错误,就提示timeout