安装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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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语句:使用策略模式优化代码结构