openssh下载地址: pub-OpenBSD-OpenSSH-portable安装包下载_开源镜像站-阿里云
openssl下载地址: [ Downloads ] - /source/index.html
1、安装依赖
yum -y install gcc gcc-c++
yum -y install zlib
yum -y install zlib-devel
也可以一起安装。但是我的centos6系统这样安装不全,我就一个一个安装的,这后面三个都装不上
####yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel pam-devel
2、编译安装OpenSSL
右键复制链接
cd /opt
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1k.tar.gz
tar -xzvf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
./config --prefix=/usr/local/openssl shared -fPIC
make depend
make && make install
ldd /usr/local/openssl/bin/openssl #检查函数库,通过检查确认缺少的函数库
链接库文件
ln -s /opt/openssl-1.1.1k/libssl.so.1.1 /usr/lib/libssl.so.1.1
ln -s /opt/openssl-1.1.1k/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1
echo "/usr/local/openssl/lib" >> /etc/ls.so.conf #添加所缺函数库
ldconfig -v #更新函数库
ldd /usr/local/openssl/bin/openssl #再次查看就已经好了
mv /usr/bin/openssl /usr/bin/openssl.bak #将旧版本openssl移除
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
openssl version 最后查看版本,安装成功!
OpenSSL 1.1.1k 25 Mar 2021
3、编译安装OpenSSH
右键复制链接
也是在/opt
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
tar -xzvf openssh-8.1p1.tar.gz
cd openssh-8.0p1
这一步报错很多,我只保留了这些参数,就成功了
./configure --prefix=/usr/local/openssh --exec-prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd --without-hardening
make && make install
如果报错zlib没找到 ,确保zlib已经安装,yum -y install zlib-devel
将源码安装包下的sshd.init拷贝到/etc/init.d/下
cp /opt/openssh-8.0p1/contrib/redhat/sshd.init /etc/init.d/
替换原有的sshd服务文件
mv /etc/init.d/sshd /etc/init.d/sshd.bak
启动openssh服务
/etc/init.d/sshd.init start
ssh -V #查看版本,安装成功
OpenSSH_8.0p1, OpenSSL 1.1.1k 25 Mar 2021
此外,安装配置时如果没有带 --with-selinux参数,那么需要关闭selinux,我试过加这个参数,会报错,我就把这个参数删了
退出连接再次使用连接工具连接时,比如xshell,会报错:拒绝密码
解决:
vim /etc/ssh/sshd_config !!!!千万要和/etc/sshd/ssh_config区分开!!!!
能连上之后,如果使用scp会报错,再修改/etc/ssh/ssh_config
重启ssh服务
/etc/init.d/sshd.init restart
最后提醒,千万要注意/etc/ssh/ssh_config 和 /etc/ssh/sshd_config 文件!!!