CentOS 7 Linux源码安装OpenSSH

冷不防 2021-09-18 15:50 537阅读 0赞
  1. 最近安全攻防演练中Linux系统报了openSSH版本过低的漏洞,要将OpenSSH的版本升级到7.6或以上,但是使用yum进行升级,升级后的版本达不到7.6,故而思考使用源码进行安装,以下是OpenSSH升级的过程,记录于此,以供参考~
  2. 注意:升级过程中OpenSSLOpenSSH无需卸载以前的版本!!!

1、首先将下载好的tar包上传到Linux上,我的tar包存放位置目录是:/opt/software

20190330082449777.png

2、由于我现在机器上的yum源是本地的,需要将其修改为阿里云的,此操作如果已经修改过或yum源本身没问题的,可以直接跳过。

(1)去到相应的目录下,修改下图中的两个文件

20190330082802919.png

修改结果如下图所示,其中,CentOS-Base.repo配置的为阿里云的yum源。

20190330082906230.png

(2)执行yum makecache操作,生成缓存

20190330083135245.png

3、使用yum安装相关的依赖

  1. yum -y install gcc make perl zlib zlib-devel pam pam-devel

20190330083438452.png

4、安装openSSH之前,首先要安装OpenSSL。

(1)解压上传好的tar包

  1. tar -zxvf ./openssl-1.1.1b.tar.gz -C ./

20190330083638986.png

(2)到解压目录下执行config

  1. cd openssl-1.1.1b
  2. ./config --prefix=/opt/modules/ssl/

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dka3l4eTIwMTM_size_16_color_FFFFFF_t_70

(3)make

20190330084243899.png

(4)make install

20190330084435141.png

(5)执行以下命令查看安装后的版本

  1. /opt/modules/ssl/bin/openssl version

发现此时报了如下的错误:

  1. /opt/modules/ssl/bin/openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

这是因为OpenSSL库的位置不正确导致的,可以使用如下命令创建软连接:

  1. ln -s /opt/modules/ssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
  2. ln -s /opt/modules/ssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

20190330084740899.png

(6)将OpenSSL添加到环境变量

  1. vi ~/.bashrc

在文件最后添加如下命令:

  1. export PATH="/opt/modules/ssl/bin:${PATH}"

20190330084916131.png

保存并退出,source一下:

  1. source ~/.bashrc

查看环境变量是否添加成功:

  1. whereis openssl

20190330085149574.png

查看OpenSSL的版本:

  1. openssl version

20190330085250559.png

至此,OpenSSL升级成功。

5、接下来是OpenSSH的安装。

(1)解压OpenSSH的tar包并去到解压目录下

  1. tar -zxvf openssh-7.9p1.tar.gz -C ./
  2. cd openssh-7.9p1

(2)执行config

  1. ./configure --prefix=/opt/modules/ssh --sysconfdir=/etc/ssh --with-ssl-dir=/opt/modules/ssl

20190330085913706.png

(3)make

20190330090153427.png

(4)make install

2019033009023895.png

安装过程中会报一个权限的问题,此处可以先不用管,后面手动修改权限即可。

(5)验证版本

  1. /opt/modules/ssh/bin/ssh -V

20190330090358678.png

(6)设置sshd开机自启

  1. cp /opt/software/openssh-7.9p1/contrib/redhat/sshd.init /etc/init.d/sshd

(7)给sshd赋权

  1. chmod u+x /etc/init.d/sshd

(8)添加sshd服务

  1. chkconfig --add sshd

(9)替换配置文件

  1. cp /opt/software/openssh-7.9p1/sshd_config /etc/ssh/sshd_config

(10)修改配置文件sshd_config,将subsystem sftp路径变更为实际路径

  1. vi /etc/ssh/sshd_config

20190330090719811.png

(11)备份命令

  1. cd /usr/bin
  2. mv ./scp ./scp_bak
  3. mv ./sftp ./sftp_bak
  4. mv ./ssh ./ssh_bak
  5. mv ./ssh-add ./ssh-add_bak
  6. mv ./ssh-agent ./ssh-agent_bak
  7. mv ./ssh-keygen ./ssh-keygen_bak
  8. mv ./ssh-keyscan ./ssh-keyscan_bak
  9. cd /usr/sbin
  10. mv ./sshd ./sshd_bak

(12)拷贝命令

  1. cp /opt/modules/ssh/bin/* /usr/bin/
  2. cp /opt/modules/ssh/sbin/sshd /usr/sbin/

(13)修改配置文件sshd_config,密码认证和允许root用户远程直接登录

  1. vi /etc/ssh/sshd_config
  2. #PasswordAuthentication yes 行取消注释
  3. PasswordAuthentication yes
  4. 并在下面添加:
  5. PermitRootLogin yes

20190330091051574.png

(14)修改安装过程中出现的权限问题

  1. chmod 600 /etc/ssh/*

(15)卸载之前的OpenSSH版本

20190330112430674.png

使用如下命令进行卸载:

  1. rpm -e --nodeps ******

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dka3l4eTIwMTM_size_16_color_FFFFFF_t_70 1

(16)恢复配置文件

  1. cd /etc/ssh/
  2. cp ./sshd_config.rpmsave ./sshd_config

20190330112846377.png

(17)拷贝ssh-keygen和sshd文件

  1. cp /opt/modules/ssh/bin/ssh-keygen /usr/bin/
  2. cp /opt/modules/ssh/sbin/sshd /usr/sbin/

(18)重启sshd并查看状态

  1. systemctl restart sshd

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dka3l4eTIwMTM_size_16_color_FFFFFF_t_70 2

(15)重启服务器

  1. reboot

(16)查看sshd的状态

  1. systemctl status sshd

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dka3l4eTIwMTM_size_16_color_FFFFFF_t_70 3

至此,OpenSSH升级完成。

你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题。

发表评论

表情:
评论列表 (有 0 条评论,537人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Centos7安装 mysql

    源码安装概念: 注意事项 1、源码包是从官方网站上下载来的,下载的文件常见格式一般是“.tar.gz”或".tar.bz2"。 2、源代码下载后的保存位置:"/