linux升级openssh

升级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-7.3p1.tar.gz

ftp://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/openssh-7.3p1.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服务才行。

编译时候错误:PAM headers not found

解决方案:

查看pam已经安装的包再下载他的依赖库

yum install -y pam-devel

原文地址:https://www.cnblogs.com/jtlin/p/6061148.html