准备工作
开启telnet
以防服务器升级ssh失败,造成服务器无法连接
安装telnet
redhat 7.x版本安装
yum install telnet-server.x86_64
yum install telnet.x86_64
yum install xinetd.x86_64
启动服务
systemctl start xinetd
systemctl start telnet.socket
redhat 6.x版本安装
yum install xinetd
yum install telnet
yum install telnet-server
启动服务
service xinetd start
telnet激活需要更改以下文件
vim /etc/xinetd.d/telnet 将disabled 改成no
vim /etc/pam.d/remote 将第二行屏蔽掉
#auth required pam_securetty.so
# 重启
service xinetd restart
安装依赖
安装以下依赖
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
开始安装
以下操作全部在root用户下
1、备份openssh的配置文件
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、解压文件
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
cd openssl-1.1.1h
./config --prefix=/usr --shared
# 编译&安装
make && make install
4、安装zlib
cd ../zlib-1.2.11
./configure && make && make install
5、安装openssh
cd ../openssh-8.4p1
./configure && make && make install
6、以上编译安装完成,下面替换文件
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配置
vi /etc/ssh/sshd_config
PermitRootLogin yes #禁止root登录,8.4p1默认禁止root用户登录,如有需要,改为yes
PubkeyAuthentication yes
PasswordAuthentication yes
7、启动ssh
service sshd restart
8、验证
ssh -V
提示:OpenSSH_8.4p1, OpenSSL 1.1.1h
表示升级成功!
9、恢复telnet配置
vim /etc/xinetd.d/telnet 将disabled 改成no
vim /etc/pam.d/remote
auth required pam_securetty.so
#重启
service xinetd restart