Bootstrap

Centos7:openssh升级到9.0安装及存在的问题解决方法

准备工作 安装编译所需依赖软件包:建议临时关闭 selinux(setenforce 0)

yum install -y wget gcc pam-devel libselinux-devel zlib-devel openssl-devel 下载 OpenSSH 安装包上传至服务器或 wget 直接下载

1. cd /usr/local/src

2. wget -O openssh.tar.gz https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/ope nssh-9.0p1.tar.gz

备份配置文件 一般卸载的时候都会把配置文件以 sshd_config.rpmsave 的方式 另存一份,但是/etc/pam.d/sshd 这个配置文件并没有另存,所以建议都备份 一下。

1. cp /etc/ssh/sshd_config sshd_config.backup

2. cp /etc/pam.d/sshd sshd.backup

删除低版本 OpenSSH 的的 rpm 包

rpm -e --nodeps `rpm -qa | grep openssh`

安装 openssh 解压

1. tar -zxvf openssh.tar.gz

编译配置

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5- passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssldir=/usr/local/ssl --without-hardening

编译安装

make && make install

配置 调整文件权限

chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

复制配置文件

1. cp -a contrib/redhat/sshd.init /etc/init.d/sshd

2. chmod u+x /etc/init.d/sshd

还原配置文件

1. mv ../sshd.backup /etc/pam.d/sshd

2. mv ../sshd_config.backup /etc/ssh/sshd_config

3. /etc/ssh/sshd_config 配置文件中需要注意点

PasswordAuthentication yes

PermitRootLogin yes

注释:#GSSAPIAuthentication yes

#GSSAPICleanupCredentials no

#Userpam yes

(不注释需要关闭 selinux 服务, 不关闭 selinux 会报关于/bin/bash 权限等问题)

添加自启服务 ssh 到开机启动项

1. chkconfig --add sshd

2. chkconfig sshd on

重启服务

systemctl restart sshd

验证结果 查看下安装结果:

ssh -V

运行结果

OpenSSH_9.0p1, OpenSSL 1.0.2k-fips 26 Jan 2017

到此,升级基本完成。安全起见不要关闭 SSH 窗口,新增一个 SSH 连接, 看看能否正常登录。如果不能登录,可以根据 sshd 的日志进行配置调整。

清理源代码

rm -rf /usr/local/src/openssh*

ftp 问题

ftp 链接不了,在/etc/ssh/sshd_config 下

修改 Subsystem sftp /usr/libexec/openssh/sftp-server 路径为:Subsystem sftp /usr/libexec/sftp-server 重启 ssh 服务

systemctl restart sshd

;