1.安装gcc等编译器
yum -y install gcc gcc-c++
2.安装openssl和openssl-devel
3.下载openssh-7.5p1
大家可以到openssh官网下载(https://www.openssh.com/),左列找到For other OS's---->linux---->Download---->http mirrors,里面的地址可以任选一个,我是找到hong kong的。附上地址:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
4.解压openssh-7.5p1.tar.gz
tar -xvf openssh-7.5p1.tar.gz ,cd openssh-7.5p1
4.配置
./configure --sbindir=/usr/sbin/ --bindir=/usr/bin/ --sysconfdir=/etc/ssh --with-ssl-engine --with-pam--with-pam
注:--sysconfdir=/etc/ssh指的是现有ssh配置的目录,根据实际情况去修改;我们指定了ssh配置目录后,就不会新生成key和配置文件;--with-pam 我这边编译的时候要支持pam,如果自己需要的话,要安装pam-devel(yum -y install pam-devel);--sbindir=/usr/sbin/指定sbin的位置;--bindir=/usr/bin/ 指定bin文件的位置
5.编译
make -j4
6.安装
make install
7.重启sshd服务
service sshd restart
8.查看sshd版本
sshd -h
9.新建一个连接测试 ssh功能是否正常
注意!!!当前连接的ssh在测试未完成前不可中断!如果中断了,新升级的服务不可登录,那就麻烦了
这里使用xshell进行测试:
这边提示openssh_7.5,说明版本升级好了,我们来测试登录
这样就登录成功了,然后我们就可以把原先保持连接的会话关了,在测试一下即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
错误集锦:
1.xshell提示找不到匹配的算法,如下图:
首先,确认xshell版本,如果是4系列的,请升级到5版本;5版本若还是提示找不到匹配的算法的话,点击打开,右击该会话,属性;
安全性,编辑,将所有的加密算法勾选即可。
2.checking OpenSSL library version... not found
yum -y install openssl-devel
如果检测还是不通过的话,openssl version看一下版本,是不是和自己安装的版本是一样的
如果发现多个openssl,或者检测的版本与安装的版本不一致,把检测的那个版本卸载了。
卸载方法:百度搜索提示版本的源码,例如“OpenSSL_1_1_0-pre4“,找到对应的源码包,解压后执行 make uninstall,然后再把openssl和openssl-devel安装一遍(yum install...)
3.make时可能会有报错,make: *** [sshkey.o] Error 1,原因是openssl有问题,错误2可以解决