Centos6.6升级ssh5.3版本到ssh8.3版本

下载所需要的源码包:

]#wget https://files-cdn.cnblogs.com/files/luckjinyan/zlib-1.2.11.tar.gz

]#wget https://files-cdn.cnblogs.com/files/luckjinyan/openssh-8.3p1.tar.gz

]#wget https://files-cdn.cnblogs.com/files/luckjinyan/openssl-1.1.1g.tar.gz

备份当前openssh

# cp/etc/ssh /etc/ssh.bak

# cp /etc/init.d/sshd /etc/init.d/sshd.abk

卸载旧的版本

# rpm -e –nodeps openssh-xxx(使用这条命令逐个卸载)

rpm -e --nodeps openssh-askpass-5.3p1-104.el6.x86_64

rpm -e --nodeps openssh-server-5.3p1-104.el6.x86_64

rpm -e --nodeps openssh-5.3p1-104.el6.x86_64

rpm -e --nodeps openssh-clients-5.3p1-104.el6.x86_64

卸载时报错,解决:

rpm -e --noscripts openssh-server-5.3p1-104.el6.x86_64

配置阿里yum源

curl -O http://mirrors.aliyun.com/repo/Centos-6.repo

curl -O http://mirrors.aliyun.com/repo/epel-6.repo

yum clean all && yum makecache

yum -y install gcc gcc-c++ vim pam* openssl-devel   (先安装要使用的工具)

注:pam*测试时未安装    若安装在进行openssh配置时需加上--with-pam=enable

解压   (-C 可以指定解压到指定的目录)

]#tar zxf zlib-1.2.11.tar.gz

]#tar zxf openssl-1.1.1g.tar.gz

]#tar zxf openssh-8.3p1.tar.gz

编译安装zlib

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib

make && make install

编译安装openssl

cd openssl-1.1.1g
./config --prefix=/usr/local/openssl -d shared
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl  
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so  //目前发现这一步有错误,可不做
echo '/usr/local/openssl/lib' >> /etc/ld.so.conf
ldconfig -v
openssl version

安装openssh

cd openssh-8.3p1
./configure --prefix=/usr  --sysconfdir=/etc/ssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords
make && make install

sshd_config文件修改

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
 
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
 
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
 
解===>>>
PermitRootLogin yes         #允许root认证登录
PasswordAuthentication yes  #允许密码认证

RSAAuthentication yes       #秘钥认证
PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys  #默认公钥存放的位置
 

备份原有文件,并将新的配置复制到指定目录

cp -p /root/openssh-8.3p1/contrib/redhat/sshd.init /etc/init.d/sshd

cp -p /root/openssh-8.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam(使用pam需拷贝)

启动sshd

service sshd restart
 
centos7可直接使用systemctl进行管理

查看信息版本

ssh -V   或者 sshd -v

ubuntu升级ssh到8.3版本

更改apt源为阿里源

vi /etc/apt/sources.list         添加以下内容

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

--------------------------------------------------------------------------------------------------------------------

更新一下apt库:

apt update

解压   (-C 可以指定解压到指定的目录)

]#tar zxf zlib-1.2.11.tar.gz

]#tar zxf openssl-1.1.1g.tar.gz

]#tar zxf openssh-8.3p1.tar.gz

安装gcc编译工具

apt-get install gcc make libpam0g-dev

编译zlib

./configure --prefix=/usr/local/zlib

make

make install

编译安装openssl

cd openssl-1.1.1g
./config --prefix=/usr/local/openssl -d shared
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl  
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so  //目前发现执行这一步有错误,可跳过
echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.conf  //这一步与centos有一些区别
ldconfig  
openssl version    //查看版本

# 备份原openssh文件

mv /etc/ssh /etc/ssh.bak

mv /etc/init.d/ssh  /etc/init.d/ssh.bak

# 卸载原openssh

apt-get remove
openssh-server openssh-client

cd openssh-8.3p1

./configure
--prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib=/usr/local/zlib
--with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd #需要指定openssl的安装路径和zlib的安装路径

make && make
install

1. 修改默认配置文件

根据之前配置修改,保证配置相同

2. 也可使用原来的配置文件

cd /etc/ssh

mv sshd_config sshd_config.default

cp ../ssh.old/sshd_config ./

# 使用原来的/etc/init.d/ssh

mv /etc/init.d/ssh.old /etc/init.d/ssh

# 取消注销指定服务

systemctl unmask ssh

# 重启服务

systemctl restart ssh

---------------------------------报错-------------------------------------------

# 报错  checking whether OpenSSL's PRNG is internally
seeded... yes

#      
configure: error: PAM headers not found

# 解决:ubuntu: apt-get install libpam0g-dev   centos: yum -y install pam-devel

---------------------------------报错-------------------------------------------------------------------

# 报错: Privilege
separation user sshd does not exist

vim /etc/passwd

sshd:x:74:74:Privilege-separated
SSH:/var/empty/sshd:/sbin/nologin

# 注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序

# /etc/passwd文件是Linux/UNIX安全的关键文件之一.该文件用于用户登录时校验 用户的口令,当然应当仅对root可写.

--------------------------------------------------------------------------------------------------------

Centos6(限6版本) ssh升级到8.3p脚本(超菜的写法,大神勿看)

#!/bin/bash

curl -o /opt/zlib-1.2.11.tar.gz
http://www.zlib.net/zlib-1.2.11.tar.gz > /dev/null

if [ $? == '0' ]; then

echo "zlib源码包下载完成!!"

else

exit 1

fi

curl -o /opt/openssh-8.3p1.tar.gz
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz
>/dev/null

if [ $? == '0' ]; then

echo "openssh源码包下载完成!!"

else

exit 1

fi

curl -o /opt/openssl-1.1.1g.tar.gz https://www.openssl.org/source/openssl-1.1.1g.tar.gz  >/dev/null

if [ $? == '0' ]; then

echo "openssl源码包下载完成!!"

else

exit 1

fi

#rpm -q openssh > /dev/null &&
cat /etc/redhat-release |grep 6.* > /dev/null

if [ -d /etc/ssh ]; then

mv /etc/ssh /etc/ssh.bak

echo "备份ssh OK"

fi

if [ -f /etc/init.d/sshd ]; then

mv /etc/init.d/sshd /etc/init.d/sshd.bak

echo "备份sshd OK"

fi

rpm -qa |grep openssh-askpass >
/dev/null

if [ $? == '0' ]; then

rpm -e --nodeps
openssh-askpass-5.3p1-104.el6.x86_64 && echo "成功卸载openssh-askpass"

fi

rpm -qa |grep openssh-server > /dev/null

if [ $? == '0' ]; then

rpm -e --noscripts
openssh-server-5.3p1-104.el6.x86_64 && echo "成功卸载openssh-server"

fi

rpm -qa |grep openssh-5.3p1 > /dev/null

if [ $? == '0' ]; then

rpm -e --nodeps
openssh-5.3p1-104.el6.x86_64 && echo "成功卸载openssh-5.3p1"

fi

rpm -qa |grep openssh-clients >
/dev/null

if [ $? == '0' ]; then

rpm -e --nodeps openssh-clients-5.3p1-104.el6.x86_64
&& echo "成功卸载openssh-clients"

fi

curl -o /etc/yum.repos.d/Centos-6.repo
http://mirrors.aliyun.com/repo/Centos-6.repo >/dev/null  && echo "pull Centos-6.repo
yes"

curl -o /etc/yum.repos.d/epel-6.repo
http://mirrors.aliyun.com/repo/epel-6.repo >/dev/null  && echo "pull epel-6.repo
yes"

yum clean all > /dev/null && yum
makecache > /dev/null && echo "repo clan yes"

yum -y install gcc gcc-c++ vim pam*
openssl-devel > /dev/null

if [ $? == '0' ];then

echo "install依赖 yes"

else

exit 1

fi

tar zxf /opt/zlib-1.2.11.tar.gz -C /opt/
&& cd /opt/zlib-1.2.11 && ./configure --prefix=/usr/local/zlib
>/dev/null && make >/dev/null && make install >
/dev/null && echo "install zlib succeed"

if [ $? == '0' ];then

tar zxf
/opt/openssl-1.1.1g.tar.gz -C /opt/ && cd /opt/openssl-1.1.1g
&& ./config --prefix=/usr/local/openssl -d shared >/dev/null
&& make >/dev/null && make install >/dev/null

echo "install openssl succeed"

else

exit 1

fi

if [ $? == '0' ];then

mv /usr/bin/openssl /usr/bin/openssl.bak && mv
/usr/include/openssl /usr/include/openssl.bak && ln -s
/usr/local/openssl/bin/openssl /usr/bin/openssl && ln -s
/usr/local/openssl/include/openssl /usr/include/openssl

else

exit 1

fi

if [ $? == '0' ];then

echo '/usr/local/openssl/lib' >> /etc/ld.so.conf &&
ldconfig -v > /dev/null && echo $(openssl version)

else

exit 1

fi

if [ $? == '0' ];then

cd /opt/ && tar zxf openssh-8.3p1.tar.gz -C /opt/ && cd
openssh-8.3p1 && ./configure --prefix=/usr  --sysconfdir=/etc/ssh
--with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl
--with-md5-passwords --with-pam=enable > /dev/null && make >
/dev/null && make install > /dev/null

echo "install openssh succeed"

else

exit 1

fi

echo 'PermitRootLogin yes'
>>/etc/ssh/sshd_config

echo 'PubkeyAuthentication yes'
>>/etc/ssh/sshd_config

echo 'PasswordAuthentication yes'
>>/etc/ssh/sshd_config

cp -p
/opt/openssh-8.3p1/contrib/redhat/sshd.init 
/etc/init.d/sshd

cp -p
/opt/openssh-8.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

service sshd restart && ssh -V

******人生若只如初见******

Centos6.6x系统与unbutu18.04系统升级ssh到8.3版本的更多相关文章

  1. 如何开启Centos6.4系统的SSH服务

    无论是Centos6.4系统的虚拟电脑还是服务器,始终感觉直接在命令行中操作不方便:比如全选.复制.粘贴.翻页等等.比如服务器就需要在机房给服务器接上显示器.键盘才操作感觉更麻烦.所以就可借助SSH( ...

  2. Ubuntu12.04之SSH

    Ubuntu 12.04 关于SSH的知识 (1)安装完ubuntu系统12.04. (2)查看网络配置,输入命令ip addr后,显示有IP地址. (3)使用SSH终端工具Xshell连接系统,发现 ...

  3. Ubuntu 16.04修改ssh端口

    1 安装防火墙 sudo apt-get install ufw启用 sudo ufw enable sudo ufw default deny 作用:开启了防火墙并随系统启动同时关闭所有外部对本机的 ...

  4. secureCRT连接liunx(centos6.5)系统步骤以及碰见的问题

    1.首先安装secureCRT以及用vmware安装centos6.5系统,用vmware打开centos6.5系统 2.找到liunx系统的ip,在liunx终端用ifconfig找到ip如下图: ...

  5. 在VMware Workstation上安装CentOS6.5系统步

    在VMware Workstation上安装CentOS6.5系统步骤 听语音 | 浏览:147 | 更新:2016-07-28 15:45 | 标签:安装 虚拟机 CENTOS 1 2 3 4 5 ...

  6. 使用kvm虚拟出Centos6.5系统相关步骤

    使用kvm虚拟出Centos6.5系统相关步骤 kvm是啥东西,亲们自行百度哇,一两句话也说不清楚,直接进主题使用宿主机虚拟出一台centos6.5的系统,当然其他系统也可以的,考虑到企业常用服务器系 ...

  7. VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网的三种方法介绍

    转自:http://www.jb51.net/network/98820.html 如何真正的实现VMWARE虚拟机CentOS6.4系统使用主机无线网卡上网   环境:WIN7旗舰版,台式机,U盘无 ...

  8. CentOS6.5系统挂载NTFS分区的移动硬盘 centos安装repoforge源(yum)

    CentOS6.5系统挂载NTFS分区的移动硬盘 作为IT的工作者,避免不了使用Linux系统,我现在使用的系统是CentOS6.5 X86_64位版本,但是插入NTFS移动硬盘没有办法识别.通过下面 ...

  9. Centos6.5系统关闭防火墙

    关闭Centos6.5系统防火墙步骤: 1.命令:service iptables stop //停止正在运行的防火墙服务 2.命令:chkconfig iptables off //永久关闭防火墙 ...

随机推荐

  1. 使用 Python破解大众点评字体加密(SVG反扒)

    前言 大众点评拥有大量高质量评论信息.种草信息,同时也有非常严格的反扒机制. 今天我们一起使用 Python破解大众点评字体加密,获取极具商业价值的信息. 本文知识点: requests 的使用 xp ...

  2. ABP VNext实践之搭建可用于生产的IdentityServer4

    一.前言 用了半年多的abp vnext,在开发的效果还是非常的好,可以说节省了很多时间,像事件总线.模块化开发.动态API进行远程调用.自动API控制器等等,一整套的规范,让开发人员更方便的集成,提 ...

  3. 攻防世界——web新手练习区解题记录<1>(1-4题)

    web新手练习区一至四题 第一题view_source: 题目说右键不管用了,我们先获取在线场景来看一看,我们看到这样一个网页,并且右键确实点了没什么反应,而用到右键一般就是查看网页源码 用快捷键(F ...

  4. 使用rabbitmq过程中遇到的问题及解决方法记录。

    OS: Linux ---Centos7RabbitMQ版本:RabbitMQ version: 3.8.1erlang版本:Erlang configuration: Erlang/OTP 22 [ ...

  5. 前端通过jqplot绘制折线图

    首先需要下载jqplot需要的js与css文件,我已近打包好了,需要的可以下载 接下来导入其中关键的js与css如下, <link href="css/jquery.jqplot.mi ...

  6. Sqli-labs 1-10

    Less 1-4(基础注入) 基础知识: table_schema:数据库的名称 table_name:表的名称 column_name:列的名称 information_schema:表示所有信息, ...

  7. Codeforces 1337D Xenia and Colorful Gems

    题意 给你3个数组\(a, b\)和\(c\),最小化\((x-y)^2+(y-z)^2+(z-x)^2\),其中\(x \in a, y \in b, z \in c\). 解题思路 这题其实第一眼 ...

  8. Mybatis相关设置

    MyBatis的设置 学习笔记: Mybatis上设置信息可以配置,也可不进型配置,在对Mybatis的setting配置后,会影响到它的运行时行为.以下是相关设置信息的关键字,及所包含的意义: ag ...

  9. ElasticSearch7.6.1 安装及其head插件安装

    本来打算写一篇ES和Solr的差别的,后来想想算了简单说说吧, 如果是对已存在数据建立完成索引的情况下,Solr更快 一但进行索引的操作的时候,Solr的IO是阻塞的 对于大数据量的实时检索,还是El ...

  10. Zabbix如何监控Linux防火墙服务

    今天在巡检的时候,突然想到Zabbix能否监控Linux的防火墙服务呢? 显然是可以的,但是Zabbix 5下默认的模板"Template OS Linux by Zabbix agent& ...