为防止升级失败或其他以外情况,导致ssh失败后无法进入系统,可以打开多个连接
[root@sfgkdata ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@sfgkdata ~]# ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
#安装之前建议先搭建本地yum源,以防有问题。
#检查gcc
安装gcc
yum -y install gcc gcc-c++ autoconf make
#软件包如下,安装的顺序也是自顶向下
zlib-1.2.11.tar.xz
openssl-1.1.1q.tar.gz
openssh-9.0p1.tar.gz
步骤一,安装Zlib
mkdir /opt/ssh
#可在/opt下创建文件夹 ssh,三个包拷贝到ssh目录下。然后执行
cd /opt/ssh
tar -xf zlib-1.2.11.tar
cd zlib-1.2.11/
./configure
make
make install
#即可完成zlib的安装
步骤二,安装openssl
#首先备份下
mv /usr/bin/openssl /usr/bin/openssl.bak
tar -xzvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q/
./config shared && make && make install
#创建链接
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -snf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so
ln -snf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -snf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so
ln -snf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
ldconfig
openssl version
#执行完openssl version可以看到版本
#即可完成openssl的安装
步骤三,Openssh安装
#openSSH的安装
#备份
cp /usr/bin/ssh /usr/bin/ssh.bak
cp /usr/sbin/sshd /usr/sbin/sshd.bak
mv /etc/ssh /etc/ssh.bak
卸载openssh,卸载部署在最后面: rpm -qa | grep openssh
rpm -e --nodeps xxxxxxxxxx
rpm -e --nodeps openssh-server-7.4p1-21.el7.x86_64
rpm -e --nodeps openssh-7.4p1-21.el7.x86_64
tar -zxvf openssh-9.0p1.tar.gz
cd openssh-9.0p1
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords
make && make install
#修改启动文件和pam
cp ./contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
ssh -V
#执行ssh -V 可以看到新的版本
#即可完成OPENSSH的安装,SSH升级完成
注意:
不要关闭此连接,新开连接,看看能否正常连接,如果root用户不能正常连接,需要修改配置文件
vi /etc/ssh/sshd_config
修改以下字段
PermitRootLogin yes
保存退出后重启sshd
执行下面重启sshd操作,不要关闭当前连接
systemc daemon-reload
systemctl restart sshd
systemctl enable sshd
root用户即可正常登录
问题处理:
若systemctl restart sshd 重启服务器时出现如下问题,需要卸载原openssh
centos7.4、centos7.6、centos7.8
目前已知centos7.4、centos7.6、centos7.8系统版本需要在安装openssh之前卸载掉openssh软件包,centos7.2以前版本忽略此步骤:
卸载步骤如下:
rpm -qa | grep openssh
rpm -e --nodeps xxxxxxxxxx
rpm -e --nodeps openssh-server-7.4p1-21.el7.x86_64
rpm -e --nodeps openssh-7.4p1-21.el7.x86_64
卸载完成后执行rpm -qa | grep openssh
卸载后重新安装openssh即可。(安装openssh-9.3p2)
2,若重启没问题,用root登陆时总是提示ssh拒绝连接,输入密码正确,需要检查一下selinux
getenforce
若是enforcing需要修改
#临时修改
setenforce 0
vi /etc/selinux/config
disabled
修改后在重启sshd,尝试登陆即可。