CentOS更新OpenSSH到8.6版本教程
CentOS更新OpenSSH到8.6版本教程
1 | 漏洞分类:通用漏洞检测 |
ssh更新
安装依赖
1
yum install -y pam-devel libselinux-devel zlib-devel openssl-devel wget gcc
下载软件
1
2cd /usr/local/src
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz备份
1
2cp /etc/ssh/sshd_config sshd_config.backup
cp /etc/pam.d/sshd /etc/pam.d/sshd.backup卸载旧版ssh
此时可以删除低版本包,当然这个操作是有风险的,如果删除了但是安装不成功就远程连接不上去了,只有自己去远程服务器边上安装,保险办法是通过另外的手段远程连接,我自己没有遇到这个问题,所以就不赘述。
1 | rpm -qa | grep openssh |
解压新版压缩包
1
2tar -zxvf openssh-8.6p1.tar.gz
cd openssh-8.6p1设置编译配置
1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
文件授权
1
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
编译
1
2make
make install复制文件
1
2cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod u+x /etc/init.d/sshd修改配置
1
2
3
4
5
6
7
8
9vim /etc/ssh/sshd_config
# 修改#PermitRootLogin prohibit-password项,去掉注释#并把prohibit-password改为yes,修改后即为PermitRootLogin yes
#去掉注释#PasswordAuthentication yes变为`PasswordAuthentication yes 如果使用证书登陆可以关闭这个
#升级之后sftp如果不好用了,需要注意的是要查看一下相关设置,新的是Subsystem sftp /usr/libexec/sftp-server原始系统自带的是Subsystem sftp /usr/libexec/openssh/sftp-server
# 一般系统是开启PAM模块的,但是编译安装升级后,这个是关闭状态,如果启用PAM,需要有一个控制文件,去掉注释#UsePAM no 变为UsePAM yes,如果打开这个模式,不要忘了把配置文件/etc/pam.d/sshd.backup改回来,否则登陆不了。还原pam.d下的sshd文件
1
mv /etc/pam.d/sshd.backup /etc/pam.d/sshd
设置开机自启
1
2chkconfig --add sshd
chkconfig sshd on测试
1
ssh -V
成功!
评论