记录
服务器放在视频专网里,不但无法联网,还不断被扫描出ssh低版本的漏洞。索性就直接安装最新版本SSH,需要先安装依赖程序
依赖zlib和OpenSSL
zlib官网下载地址:
http://www.zlib.net/
OpenSSL官网下载地址:
https://openssl-library.org/source/index.html
SSH官网下载地址:
http://www.openssh.com/openbsd.html
本人安装的SSH所有包都打包放在百度网盘里了,需要的可以自取
操作都是在/home/ssh目录下进行的
1、备份 /etc/ssh、 /etc/init.d/ssh
mkdir /home/ssh && cd /home/ssh
mv /etc/ssh /home/ssh/ssh_old
mv /etc/init.d/ssh /home/ssh/ssh.old
2、编译安装SSH时需要PAM版本、所以先提前安装pam
dpkg -i libpam0g-dev_1.3.1-5ubuntu4.7_amd64.deb
dpkg -i libpam0g_1.3.1-5ubuntu4.7_amd64.deb
3、卸载原有openssh
apt-get remove openssh-server openssh-client -y
4、安装zlib
tar zxf zlib.tar.gz && cd zlib-1.3.1/
./configure --shared
make && make install
============================================
5、安装openssl
cd /home/ssh
tar zxf openssl-3.2.2.tar.gz && cd openssl-3.2.2/
./config --shared zlib --prefix=/usr/local/openssl
make -j 32 && make install
6、备份原来的openssl
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/include/openssl /usr/include/openssl
7、软链接openssl的lib库
mkdir -p /usr/local/openssl/lib64
ln -s /usr/local/lib64/libssl.so /usr/local/openssl/lib64/libssl.so
echo /usr/local/openssl/lib64 > /etc/ld.so.conf.d/openssl.conf
更新系统lib库
ldconfig -v
##查看版本
openssl version
##可能会报错
##解决办法
#通过 find / -name libcrypto.so.3 和 find / -name libssl.so.3 查找到对应so文件的位置,并建立软连接
find / -name libcrypto.so.3
find / -name libssl.so.3
ln -s /usr/local/lib64/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/lib64/libcrypto.so.3 /usr/lib/libcrypto.so.3
================================================
8、安装openssh
cd /home/ssh
tar zxf openssh-9.7p1.tar.gz && cd openssh-9.7p1/
whereis openssl
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl
make -j32 && make install
##查看openssh 版本
ssh -V
最后还原SSH旧配置文件
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.default1
mv /etc/init.d/ssh /etc/init.d/ssh.default1
cp /home/ssh/ssh_old/sshd_config /etc/ssh/
cp /home/ssh/ssh.old /etc/init.d/ssh
重启SSH并配置开机自启
systemctl unmask ssh
systemctl start ssh
systemctl status ssh
systemctl daemon-reload
systemctl enable ssh