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. 热门话题,2020年了,web前端还好找工作吗?

    #大师助手-全网唯一免费上pin 如果你要是和前几年的前端市场相比,那我会告诉你“不好找” 其实好不好找工作,是跟自己的能力分不开的.但是就前端开发这个行业本身来说,它的就业前景还是相当不错的. 随着 ...

  2. Resharper 2020 免费破解版

    如果你是一名.NET开发人员,但是你却不使用ReSharper,那么你就不是一个合格的码农了,因为这是一个强大的神器,你值得拥有!当然,用它的代价是,启动VS会变得非常慢,非常卡,但是需要知道,磨刀不 ...

  3. Python基础(闭包函数、装饰器、模块和包)

    闭包函数 格式: def 函数名1(): def 函数名2(): 变量 = 值 return 变量 return 函数名2 func = 函数名1() key = func()

  4. GET和POST的本质区别

    前言:相信小伙伴们面试时候一定都遇到过这个问题,即使没有遇到过,至少也听说过,网上资料一大片,大概每个人都能说出来一些.但是总感觉面试装逼不成功,所以就翻阅了部分资料,进一步整理了下. 一般当我们提到 ...

  5. 程序员你的maven多模块项目如何对外输出为一个构件?

    上图为常见的台式机,程序员,你看了有啥启发? 台式机生产线 我的maven代码工程 xxx 显示器 xxx-web 主机 xxx-app 键盘 xxx-domian 鼠标 xxx-infrastrat ...

  6. Mybatis源码学习第七天(插件源码分析)

    为了不把开发和源码分析混淆,决定分开写; 接下来分析一下插件的源码,说道这里老套路先说一个设计模式,他就是责任链模式 责任链模式:就是把一件工作分别经过链上的各个节点,让这些节点依次处理这个工作,和装 ...

  7. MySQL中如何分析查询语句

    Oracle中有explain for,mysql中也有同样的功能,那便是explain,举例如下: mysql> explain select (case (select count(*) f ...

  8. 20190926-01Redis五大数据类型之List 000 027

  9. Require.js中的路径在IDEA中的最佳实践

    本文主要讲述require.js在IDEA中路径智能感知的办法和探索中遇到的问题. 测试使用的目录结构:一种典型的thinkphp 6的目录结构,如下图. 现在我通过在 vue-a.js 中运用不同的 ...

  10. 说说ERP软件的系统设计--开源软件诞生8

    赤龙ERP系统设计篇--第8篇 用日志记录"开源软件"的诞生 赤龙 ERP 开源地址: 点亮星标,感谢支持,与开发者交流 kzca2000 码云:https://gitee.com ...