
- 提示:升级过程中不要中断窗口,另开一个窗口ssh试验是否能正常ssh登陆,过程如下。
- A、升级软件包
- 方法一:离线下载分centos6和7的8.0的openssh包
- 上传4个8.0软件包到设备,然后执行如下指令
- cp /etc/pam.d/sshd /etc/pam.d/sshd_bak
- cp /usr/bin/ssh-copy-id /tmp/
- rpm -Uvh ./openssh*8.0p1*rpm
- echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
- echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- echo "UsePAM yes" >> /etc/ssh/sshd_config
- echo "Ciphers chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com" >> /etc/ssh/sshd_config
- rm -f /etc/pam.d/sshd
- cp /etc/pam.d/sshd_bak /etc/pam.d/sshd
- cp /tmp/ssh-copy-id /usr/bin/
- chmod u+x /usr/bin/ssh-copy-id
- chmod 0600 /etc/ssh/ssh_host_*_key
- service sshd restart
- 出现问题处理:
- ①pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
- 处理方法/etc/pam.d/system-auth文件内行注释掉。
- ② 报错 需要依赖包,需要先将askpass卸载再继续安装,原因是提供的包没有该包的升级包。
- 方法二,通过其他有包的yum源直接升级openssh
- 1、配置yum源
- 备份之前文件到其他文件夹
- 配置有http的yum源 /etc/yum.repos.d/CentOS-132yum.repo,文件内容如下:
- 2、直接升级openssh
- 3、查看openssh版本指令
- 方法三,离线下载3个openssh软件包,卸载7.4版-再安装8.0版openssh【有部分系统需要依赖包需要注意】
- 1、上传3个8.0软件包到设备
- 2、卸载老版本ssh
- 3、安装8.0版openssh 在上传的软件包目录下执行安装指令
- rpm -ivh openssh-*.el7.x86_64.rpm
- 4、查看openssh版本指令
- B、升级后出现几个问题需要修改配置解决
- 1、复位进程systemctl restart sshd出现服务faild 需要修改key文件权限
- 查看systemctl status sshd提示下面错误或者提示
- Unable to load host key "/etc/ssh/ssh_host_ed25519_key": bad permissions
- Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open
- Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open
- WARNING: UNPROTECTED PRIVATE KEY FILE!
- 执行修改权限 私钥文件 600权限
- [root@web-server ssh]# chmod 600 ssh_host_ed25519_key
- [root@web-server ssh]# chmod 600 ssh_host_rsa_key
- [root@web-server ssh]# chmod 600 ssh_host_ecdsa_key
- 再次执行复位进程后服务正常启动
- 2、出现root登录不了设备
- ①root是否允许,文件/etc/ssh/sshd_config中需要改成PermitRootLogin yes。
- [root@fabu-server ssh]# cat sshd_config | grep Root
- # PermitRootLogin prohibit-password 【需要修改】(默认)
- ②验证登陆ssh 还是失败 需要看配置中路径是否需要修改。
- 文件/etc/ssh/sshd_config中第6行路径配置如下:
- # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin 【正确】
- # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin 【部分机器失败改成上面的有效 有些不是这个问题因为这个/usr/sbin/】(默认配置)
- ③如果登陆不上设备 服务log提示error: Could not get shadow information for root
- 该问题通常是由于系统启用了 SELinux 所致 需要关闭selinux策略
- 临时解决 关闭指令:setenforce 0
- 永久解决 /etc/selinux/config内SELINUX=disabled 再重启服务器生效,用以永久禁用SELinux。
- 3、sftp不能连接,需要修改文件/etc/ssh/sshd_config sftp路径
- # Subsystem sftp /usr/libexec/sftp-server 【错误】
- Subsystem sftp /usr/libexec/openssh/sftp-server 【正确】
您可以选择一种方式赞助本站