centos 6.5 升级ssh?centos7开启ssh
很多朋友对于centos 6.5 升级ssh和centos7开启ssh不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
centos7.x下ssh升级到最新版本
对于在云环境中使用CentOS 7.x的用户,可能都曾遭遇过SSH被挖矿木马侵扰的烦恼。面对这种困扰,一位朋友建议升级openssh以加强防护。尽管知道升级的重要性,但操作起来确实繁琐。本文将详细记录我在CentOS 7.7.1908和7.5.1804版本上升级openssh的步骤,以及注意事项。
首先,进行简单的预升级,通过yum工具提升系统基础软件到最新状态:
为了避免升级过程中无法远程登录的问题,建议先安装telnet,以备不时之需。可以通过netstat命令检查23端口是否被正常监听。如果发现无法登录,可能是防火墙设置问题,云主机用户需在控制台检查23端口的访问权限。
由于openssh依赖于openssl库,升级时需注意版本匹配。为确保顺利,我测试过的版本是兼容的,你可以按照我提供的版本进行安装:
然而,升级后的openssh可能导致私钥变化,需要重新建立信任关系。
在升级过程中,可能会遇到 systemctl无法启动sshd服务的问题。这时,你需要检查以下几个可能的原因:
同样,如果升级后无法远程登录,检查以下配置文件,可能需要注释掉某些不必要的设置。
总的来说,升级CentOS 7.x的SSH版本并非易事,但通过谨慎的操作和必要的配置检查,可以有效地提升系统安全,减少被攻击的风险。务必按照上述步骤和建议进行操作,以确保升级过程顺利进行。
centos7.4下升级ssh
为了在 CentOS 7.4下升级 SSH,首先需要安装 telnet服务器。此步骤旨在确保在升级过程中,如出现意外,用户可以通过 telnet登录,避免直接前往机房操作。安装过程较为简单,无需通过 xinetd设置守护进程。
执行命令:
注意,默认情况下,root用户无法通过 telnet登录,且 root用户的登录方式可能较为复杂。
接下来,为了在 CentOS 7.4环境下编译并安装 openssh2.1,需要确保系统具备所需依赖包。具体操作包括建立文件、上传文件、下载相关资源、解压并打包文件等步骤。在这一过程中,可能会遇到报错,此时需要在 spec文件的任意位置添加适当的解决策略。最后,经过一系列操作,成功制作了所需的 rpm文件。
接下来的步骤是删除旧版本的 rpm文件,并安装新的 ssdh。这一操作确保了系统中 SSH的正常工作,并避免了旧版本可能带来的兼容性问题。
升级openssh出错,求大神指点怎么解决
一、环境描述
1)操作系统:CentOS 6.5 64位
2)Openssl升级前版本:openssl 0.9.8e
3)Openssl升级后版本:openssl 1.0.1j(源码安装)
4)Openssh升级前版本:openssh-4.3p2-41.el5
5)Openssh升级后版本:openssh_6.7p1(源码安装)
6)连接工具SecureCrt
二、安装Dropbear代替OpenSSH
安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet
1)下载dropbear安装包
2)检查安装依赖包
rpm-qa zlib* gcc make
3)编译安装dropbear
# tar jxf dropbear-2014.66.tar.bz2
# cd dropbear-2014.66
#./configure
# make&& make install
检查生成的文件是否正确:
4)生成证书
#/usr/local/bin/dropbearkey-t dss-f/etc/dropbear/dropbear_dss_host_key(注:系统默认是没有/etc/dropbear目录的需要自行到创建)
#/usr/local/bin/dropbearkey-t rsa-s 4096-f/etc/dropbear/dropbear_rsa_host_key
5)启动dropbear
#/usr/local/sbin/dropbear-p 2222//监听2222端口
查看是否启动成功:
三、升级OpenSSL到openssl-1.0.1j,并删除老版本
1)升级前准备
下载openssl-1.0.1j
2)删除旧版本
#rpm-e `rpm-qa| grep openssl`--allmatches--nodeps
3)安装openssl,一定记得加上--shared选项,否则openssh编译的时候会找不到新安装的openssl的library,会报错: openssl的 header和library版本不匹配
(注:这里LZ纠结了很久,如果按照步骤执行./config--prefix=/usr--shared依然报错: openssl的 header和library版本不匹配,很可能是由于之前安装的Openssl也是源码安装的,而且没有删除干净,需要手工搜索ssl相关的文件
1.执行find/-name ssl
2.将搜索结果中/usr/lib/usr/lib64/lib64/lib等目录下的结果逐一重命名,千万不要乱删除,逐一尝试。这是个笨办法,目前还没有发现啥比较好的办法。)
#./config--prefix=/usr--shared
# make
# make test
# make install
完毕后查看openssl版本安装是否正确
# openssl version-a
四、升级sshd到OpenSSH-6.7并删除老版本ssh
1)升级前准备
查看是否缺包
# rpm-qa| egrep"gcc|make|perl|pam|pam-devel"
如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。
yum-y install gcc* make perl pam pam-devel
2)下载openssh-6.7p1.tar.gz
备份ssh:
# mv/etc/ssh/etc/ssh.bak
# openssl version-a
3)编译安装新版本openssh
# tar zxf openssh-6.7p1.tar.gz&& cd openssh-6.7p1
#./configure--prefix=/usr--sysconfdir=/etc/ssh--with-pam--with-zlib--with-md5-passwords
# make
先卸载完旧版本的openssh,再make install
# rpm-qa| grep openssh
# rpm-e `rpm-qa| grep openssh`
Openssh-askpass是用于图形界面下输入口令的,用不着可以不装
# make install
4)查看是否升级到新版本
5)复制启动脚本到/etc/init.d
# cp/root/openssh-6.7p1/contrib/RedHat/sshd.init/etc/init.d/sshd
加入开机自启
# chkconfig--add sshd
6)启动sshd,用start或reload。不要restart,restart会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。
四、删除dropbear。
终端软件里再重新打开一个标签,
在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。
在开启2222端口(dropbear启动时的端口,可以设置别的)的情况下,通过xshell连接的方法是:
ssh 192.168.0.1 2222(192.168.0.1为需要连接的服务器ip)
删除dropbear安装的文件,并杀掉进程
# rm-rf/etc/dropbear//usr/local/sbin/dropbear/usr/local/bin/dropbear*