centos7.4升级openssh至8.1

前言:最好先装Telnet服务防止openssh升级失败无法远程服务器 

1:查看当前的openssh版本,并备份/etc/ssh/

ssh -V


2:安装必要的组件

yum install -y gcc openssl-devel pam-devel rpm-build (不同版本的需要安装的组件可能不同,可根据编译时的报错安装)

3:cd到放安装包的地方,可随意,以下soft是随意写的,可替换

cd /soft

4: 下载8.0的安装包以及解压

wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz

tar -zxvf openssh-8.0p1.tar.gz

5:进入openssh-8.0p1目录

 cd openssh-8.0p1/



6:确认电脑上usr和/etc/ssh目录地址,替换以下的路径信息信息

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers

如果有报错解决报错 


7:执行
make && make install

8:如果出现如下问题

Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open

解决:
修改相关提示文件的权限为600,如有其他文件也报上面的错也同样操作
例如:chmod 600 /etc/ssh/ssh_host_ecdsa_key

9:查看现在的版本,应该是8.0了

ssh -V

10.修改配置文件
编辑ssh配置文件:
vim /etc/ssh/sshd_config 配置:
PasswordAuthentication yes
如果要允许root用户ssh登录需要配置:PermitRootLogin yes

11.设置开机启动
 cd openssh-8.0p1/

cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd
chkconfig --add sshd
systemctl enable sshd
mv /usr/lib/systemd/system/sshd.service /tmp
chkconfig sshd on

11.重启服务


服务重启        service sshd restart
查看服务状态(systemctl status sshd.service)

查看当前ssh版本: ssh  -V

12.测试是否成功

1.测试与其他服务器能否互联

如有报错,有可能是不同版本之间的加密方式不同,导致不可用

解决方法:

将 /root/.ssh/authorized_keys里面的对应ip的加密串删除,省事就全部删了吧,哈哈哈

2.   在升级后的机器ssh其他服务器出现如下报错:

/etc/ssh/ssh_config line 59: Unsupported option "gssapiauthentication"

解决方法:

注释掉客户端配置文件   /etc/ssh/ssh_config : GSSAPIAuthentication yes 这一行 

 

其他:我觉得写得很好的博客,使用构建rpm包的方式升级openssh

https://www.cnblogs.com/liao-lin/p/10286722.html#commentform

 

posted @ 2020-04-17 10:45  Crista  阅读(1286)  评论(0编辑  收藏  举报