openssh-7.8p1编译安装
实际需求:
因安全漏洞问题,openssh需要升级,
但是Centos6系统仓库里没有最新的rpm包。所以只能手动编译安装openssh最新版本
Centos7系统的就没必要了,仓库自带的版本已经满足要求。目前最新应该是7.4p1.当然如果要编译和6没啥区别。
注意一点就是:7的/etc/rc.d/rc.local 默认无执行权限 ,需要 chmod +x /etc/rc.d/rc.local 然后 /etc/init.d/sshd_7.8 start 写在这里。
参考资料:
https://blog.csdn.net/lqy461929569/article/details/76148598
https://www.xj123.info/7111.html
官方安装指导书:
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
注意事项:
1、需要开启telnet以防ssh服务出问题。
2、重启后ssh服务要能启动
3、防火墙端口注意放行
留好退路
一、升级之前最好先把telnet开起来,防止意外导致ssh无法连接
1、yum install telnet-server 会自己安装xinetd
2、chkconfig --list
3、编辑 /etc/xinetd.d/telnet
#sed -r 's/disable([[:space:]])=([[:space:]])no/disable\1=\2yes/g' /etc/xinetd.d/telnet
sed -i '/disable/s/yes/no/g' telnet
让telnet托管给xinetd
4、此时,即可用非root用户进行登录。若要使用root用户登录,一般有以下两种方法(二选一):
(1)mv /etc/securetty /etc/securetty.bak
PS:网上有说将你的登录终端信息加入到此文件下,通过你的/var/log/secure日志,添加要放行的终端,但是不靠谱,一直在变的,强烈不建议使用。
(2)修改/etc/pam.d/login这个文件,注释下面这一行,
#auth xxxxxxxxx pam_securetty.so 注释这行
PS:亲测,这个方法不好使,没效果。
注意:ssh测试可以登录后,将上面的2个文件再改回去。
5、验证telnet可以正常登录
准备战斗
一、卸载当前yum安装的openssh相关软件包,避免干扰。
卸载前备份下/etc/init.d/sshd文件,用于自启动。当然自己也可以编辑。编译会自己生成。
rpm -e --nodeps `rpm -qa |grep openssh`openssh一搬会默认安装三个包openssh
openssh-clients
openssh-serverrpm -qa openssh* # 检查下是否卸载完了ss -ntl |grep 22
二、安装相关依赖包,开始安装。
1)openssh需要依赖openssl。
查看解压的tar包中的INSTALL文件。里边有依赖的包版本信息。
zlib
openssl
cd /tmp
wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.8p1.tar.gz
tar xf openssh-7.8p1.tar.gz
cd openssh-7.8p1
2)编译前查看相关文件,虽然英文不太好,但是很重要。
3)就编译安装而言,有三种方式。
1、默认安装方式
2、指定安装目录
3、指定
cat INSTALL
对比下rpm安装后的目录结构。
1、默认安装
./configure
make
make install
说明:
This will install the OpenSSH binaries in /usr/local/bin, configuration file in /usr/local/etc, the server in /usr/local/sbin, etc.
2、指定安装目录
./configure --prefix=/opt
make
make install
说明:
To specify a different installation prefix, use the --prefix option to configure:
Will install OpenSSH in /opt/{bin,etc,lib,sbin}.
3、指定各个安装目录
./configure --prefix=/opt --sysconfdir=/etc/ssh
make
make install
说明:
You can also override specific paths, for example:
This will install the binaries in /opt/{bin,lib,sbin}, but will place the configuration files in /etc/ssh.
PS:就实际个人体验而言,
第一种和第三种:看着方便,缺点可能就是太分散
第二种:卸载版本方便。删除安装目录即可,绿色安装。缺点需要自己添加一些环境变量,这个我们可以通过stow工具缓解这个缺点。
打扫战场
一、安装后相关设置。
1)指定环境变量
不是默认安装位置,需要做bin文件的PATH变量指定。
cat >/etc/profile.d/openssh.sh <<-"EOF"
#!/bin/bash
openssh_path=/usr/local/app/openssh
PATH="$openssh_path/bin:$openssh_path/sbin:$PATH"
export PATH
EOF
2)服务自启动
sshd启动主要是配置文件。
解压编译的目录下是有自启动脚本的。
但是,这个是没有指定chkconfig参数,不能被chkconfig管理自启动。
需要手动添加。
或者去sshd.init文件中将chkconfig这段指定copy到opensshd.init文件中。
cp -a openssd.init /etc/init.d/sshd_7.8
chkconfig --add sshd_7.8
chkconfig --list sshd_7.8 默认是开启2,3,4,5级别。
3)添加帮助文档路径。
cat >> /etc/man.config <<eof
#start custom
MANPATH_MAP /usr/local/app/openssh/bin /usr/local/app/openssh/share/man
MANPATH_MAP /usr/local/app/openssh/sbin /usr/local/app/openssh/share/man
#end custom
eof
4) 修改配置文件、
vim /usr/local/app/openssh/etc/sshd_configAddressFamily inet #只监听ipv4地址,不监听ipv6PermitRootLogin yes # 允许root用户登录。当然最好不要允许root登录,新的配置文件,优化的已经不错了。
5)重启服务,测试启动脚本的有效性。重启电脑,测试重启后,服务的有效性
service sshd_7.8 restart
6)关闭xinetd服务,删除防火墙规则。还原修改的文件。
service xinetd stop
chkconfig xinetd off
mv /etc/securetty.bak /etc/securetty
转载于:https://blog.51cto.com/lajifeiwomoshu/2163927
openssh-7.8p1编译安装相关推荐
- blfs(systemd版本)学习笔记-编译安装openssh软件包
openssh项目地址:http://www.linuxfromscratch.org/blfs/view/stable/postlfs/openssh.html 1.下载openssh包和补丁并校验 ...
- openssh编译 linux,openssh 的编译安装
为了提升ssh的安全性,更新openssh也是很重要的. 下面开始编译安装openssh. openssh的官网:可以在这里下载最新的openssh 来安装http://www.openssh.com ...
- Centos7 编译安装 Nginx、MariaDB、PHP
前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小 ...
- 在Centos 5.2下编译安装LAMP
首先使用Virtualbox安装一台CentOS 5.2的虚拟机,网络连接采用 Host-only Adapter,这样主客机之间可以互相访问,但是客机不能够上广域网. 0.系统初步配置 源文件位置 ...
- linux安装openssh 密码错误,Linux安装openssh的后门补丁
相对于Windows操作系统,Linux操作系统的密码较难获取.而很多Linux服务器都配置了Openssh服务,在获取root权限的情况下,可以通过修改或者更新OpenSSH代码等方法,截取并保存其 ...
- 记openssh升级,telnet安装(环境CentOS 7.9。 晗旧版本的不同补充)
目录 一.前提工作 1. 先查看系统版本: 2. 准备相关安装包(rpm包)部分rpm包列表: 二.安装telnet(CentOS Linux release 7.9.2009环境) 1. 检查xin ...
- openssh arm linux 编译,移植openssh到arm linux
一.在移植之前需要准备做一些前期准备: 1.移植zlib库 1.1获取zlib源码 1.2解压 tar xvf zlib-1.2.11.tar.xz 1.3交叉编译 1.3.1 指定交叉编译器 exp ...
- httpd的编译安装
httpd的编译安装 文章目录 httpd的编译安装 1. httpd需要用到的安装包 2. 安装顺序:apr→apr-util→httpd 设置阿帕奇服务开机自启动 3. 如何配置虚拟主机 3.1 ...
- dropbear 编译安装和简单使用
dropbear 编译安装和简单使用 dropbear官方站点:https://matt.ucc.asn.au/dropbear/dropbear.html ssh协议的另一个实现:dropbear ...
最新文章
- ES6简单总结(搭配简单的讲解和小案例)
- 语言模型微调领域有哪些最新进展?一文详解最新趋势
- 量子纠缠在量子计算机中的作用,量子纠缠
- 加大weblogic在Linux内存,在linux运行weblogic出现运行内存不足错误,求鞭挞....
- python 优先队列_python中使用优先队列
- Java开发环境!java基础知识点总结
- mysql提供了表示日期和时间的数据类型_MySQL数据类型 - 日期和时间类型(1)
- yolo-v5连接手机摄像头实时检测的步骤
- java swing 圆形图标_java swing 圆形按钮
- 关于组长、队长和团长
- 我的世界服务器皮肤文件在哪里,我的世界皮肤展开文件,皮肤站皮肤保存在哪个文件夹...
- java 订单模块实现
- ​万邦医药在创业板过会:上半年收入约1亿元,陶春蕾母子为实控人​
- 对HTML 标签语义化的理解,常见的语义化标签有哪些?
- C语言-返回数组并输出其值
- java简单雷电游戏代码_[代码全屏查看]-Java 雷电游戏(完成)
- 管理后台布局-左菜单-右侧内容宽度控制(使用ant design vue)
- 初代 iPhone:那道不清说不尽的故事
- wmiprvse.exe 进程占CPU过高 问题解决
- 计算机设备中运行速度最慢,解决办法:笔记本电脑开机缓慢且运行速度非常快,我该怎么办?计算机启动速度慢的原因和解决方法...