centos7.6 openssh升级

安装telnet-server,确保能够登录服务器

# 安装telnet-server
yum -y install telnet-server

# 启动并设置开机自启动
systemctl start telnet.socket && systemctl enable telnet.socket

# 如果有防火墙,则需要放行23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent

# 在使用 telnet 连接服务器时,默认是不允许使用root登陆的,因此需要创建一个普通用户并赋予sudo权限

# 添加普通用户并设置密码
useradd tempuser
echo 123456 | passwd --stdin tempuser

# 增加tempuser账号的sudo权限
# 在配置文件 /etc/sudoers 中添加配置,但该文件默认是没有写权限的,因此需要先增加写权限
chmod u+w /etc/sudoers

vi /etc/sudoers
tempuser ALL=(ALL) ALL

# 使用telnet命令来测试连接
telnet 192.168.0.31 23

openssl升级

yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
yum install  -y pam* zlib*
wget https://www.openssl.org/source/openssl-1.1.1s.tar.gz --no-check-certificate

tar xf openssl-1.1.1s.tar.gz 
cd openssl-1.1.1s/
./config shared --prefix=/usr/local/ssl
make
make install

备份

mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak

软链接新ssl

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

添加动态链接库,并生效

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig
openssl version

openssh升级

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

备份

mkdir -p /home/openssh_bak/etc_ssh
mv /etc/ssh/* /home/openssh_bak/etc_ssh/
cp -a /usr/sbin/sshd /usr/sbin/sshd.bak
cp -a /usr/bin/ssh /usr/bin/ssh.bak
tar xf openssh-9.4p1.tar.gz 
cd openssh-9.4p1/
./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl --without-openssl-header-check   --with-zlib   --with-md5-passwords   --with-pam  
make
make install

更改配置/etc/ssh/sshd_config 设置准许远程root登录,要保证

grep "^PermitRootLogin"  /etc/ssh/sshd_config
PermitRootLogin yes
grep  "UseDNS"  /etc/ssh/sshd_config
UseDNS no

拷贝

[root@localhost openssh-9.4p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-9.4p1]# cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam #原来没有则不需要
[root@localhost openssh-9.4p1]# chmod +x /etc/init.d/sshd

移走或删除,然后重新生成 不然不能通过systemctl启动

mv /usr/lib/systemd/system/ssh* /home/openssh_bak/

添加开机启动

chkconfig --add sshd
systemctl enable sshd

重启

systemctl restart sshd

查看版本号已经升级成功

sshd -V
OpenSSH_9.4p1, OpenSSL 1.1.1s  1 Nov 2022

你可能感兴趣的:(linux,系统,linux)