openssh8.4p1升级


准备工作

开启telnet

以防服务器升级ssh失败,造成服务器无法连接

安装telnet

redhat 7.x版本安装

1
2
3
yum install telnet-server.x86_64
yum install telnet.x86_64
yum install xinetd.x86_64

启动服务

1
2
systemctl start xinetd
systemctl start telnet.socket

redhat 6.x版本安装

1
2
3
yum install  xinetd
yum install telnet
yum install telnet-server

启动服务

1
service xinetd start

telnet激活需要更改以下文件

1
2
3
4
5
vim /etc/xinetd.d/telnet 将disabled 改成no
vim /etc/pam.d/remote 将第二行屏蔽掉
#auth required pam_securetty.so
# 重启
service xinetd restart

安装依赖

安装以下依赖

1
yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel

开始安装

以下操作全部在root用户下

1、备份openssh的配置文件

1
2
3
cp -r /etc/ssh/ /etc/ssh_bak_2  
cp /etc/init.d/sshd /etc/init.d/sshd_bak_2
cp /usr/sbin/sshd /usr/sbin/sshd_bak_2

2、解压文件

1
2
3
tar -xzvf openssh-8.4p1.tar.gz
tar -xzvf openssl-1.1.1h.tar.gz
tar -xzvf zlib-1.2.11.tar.gz

3、安装openssl

1
2
3
4
cd  openssl-1.1.1h  
./config --prefix=/usr --shared
# 编译&安装
make && make install

4、安装zlib

1
2
cd ../zlib-1.2.11
./configure && make && make install

5、安装openssh

1
2
cd ../openssh-8.4p1    
./configure && make && make install

6、以上编译安装完成,下面替换文件

1
2
3
4
5
6
7
8
9
10
11
12
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig sshd --add
cp ssh scp sftp ssh-keygen ssh-add ssh-agent ssh-keyscan /usr/bin/
rm -rf /usr/sbin/sshd
cp sshd /usr/sbin/
ln -s /usr/lib64/libssl.so /usr/lib64/libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
cp ssh_config sshd_config /etc/ssh/
cp sftp-server ssh-keysign ssh-pkcs11-helper /usr/libexec/
cp scp.1 ssh-add.1 sftp.1 ssh-keyscan.1 ssh-agent.1 /usr/share/man/man1/
cp sshd.8 sftp-server.8 ssh-keysign.8 ssh-pkcs11-helper.8 /usr/share/man/man8/
touch /etc/ssh/ssh_host_ecdsa_key.pub

修改ssh配置

1
2
3
4
vi /etc/ssh/sshd_config
PermitRootLogin yes #禁止root登录,8.4p1默认禁止root用户登录,如有需要,改为yes
PubkeyAuthentication yes
PasswordAuthentication yes

7、启动ssh

1
service sshd restart

8、验证

1
2
3
ssh -V
提示:OpenSSH_8.4p1, OpenSSL 1.1.1h
表示升级成功!

9、恢复telnet配置

1
2
3
4
5
vim /etc/xinetd.d/telnet 将disabled 改成no
vim /etc/pam.d/remote
auth required pam_securetty.so
#重启
service xinetd restart

openssh升级文件


文章作者: 苏叶新城
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 苏叶新城 !
  目录