安装openssh-8.4

参考链接 https://www.cnblogs.com/chillax1314/p/13858655.html

下载安装包

zlib-1.2.11.tar.gz       下载地址:http://www.zlib.net/zlib-1.2.11.tar.gz     也可以直接下载:wget http://www.zlib.net/zlib-1.2.11.tar.gz

openssl-1.1.1h.tar.gz 下载地址:https://www.openssl.org/source/openssl-1.1.1h.tar.gz  也可以直接下载:wget https://www.openssl.org/source/openssl-1.1.1h.tar.gz

openssh-8.4p1.tar.gz 下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz  也可以直接下载:wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz

一 . 解压

   tar xf openssh-8.4p1.tar.gz -C

tar xf zlib-1.2.11.tar.gz -C 
tar xf openssl-1.1.1h.tar.gz -C
二.2.1 安装 zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib && make -j 4 && make install
   2.2 安装 openssl-1.1.1h.
cd /usr/local/src/openssl-1.1.1h/

./config --prefix=/usr/local/ssl -d shared
make -j 4 && make install

echo '/usr/local/ssl/lib' >> /etc/ld.so.conf

    ldconfig -v

注意:安装完成后去 cd /usr/local/  看看 是否有zlib 目录和openssl
2个目录都有情况下在进行下面的操作。
                 
三.安装openssh-8.4p1
 cd openssh-8.4p1

     ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib

 make -j 4 && make install   (注意:如果这一步报错 是因为./ configure这一步报错,需要查看提示的错误信息一般错误信息为configure: error: *** working libcrypto not found, check config.log ***)  
 
三 sshd_config文件修改

    echo "UseDNS no" >> /etc/ssh/sshd_config                     //指定 sshd(8) 是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP地址真实对应。默认值为"yes"。

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config           //是否允许 root 登入
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config     //是否允许 Public Key
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config  //是否需要密码验证
 
这个时候应该可以用ssh-V 命令查看版本信息了。不过会显示是7.4P 版
 
四 备份 /etc/ssh 原有文件,并将新的配置复制到指定目录
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh 
下面的2步报错可以直接跳过
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

ssh -V 查看版本信息 会显示8.4版
五 启动 sshd
systemctl start sshd
启动失败的话 请用 ssh -t 检查  会有错误提示,一般是配置文件没配对 按照错误信息提示修改。

  直接systemctl start sshd,启动不起来,报错,但用sshd -t检查也没有啥错误,就提示timeout

  问题解决:先停掉sshd服务,将systemctl原服务器删除,使用安装包里自带的sshd.init,复制到/etc/init.d/sshd,重启即可

复制代码
复制代码
systemctl stop sshd.service
rm -rf /lib/systemd/system/sshd.service systemctl daemon-reload cp /usr/local/src/openssh-8.4p1/contrib/redhat/sshd.init /etc/init.d/sshd /etc/init.d/sshd restart systemctl status sshd
复制代码
复制代码

启动不起来,可以使用/etc/init.d/sshd restart重启即可

添加开机启动

chkconfig --add  sshd

chkconfig --list sshd

posted @   .net新手小白学习中  阅读(1147)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示