Centos6/7升级到OpenSSH_8.0方法

2019-09-07 22:32 阅读 8,129 次 评论 0 条
WordPress免费响应式主题:Unite主题
  • 提示:升级过程中不要中断窗口,另开一个窗口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
    • 方法三,离线下载3个openssh软件包,卸载7.4版-再安装8.0版openssh【有部分系统需要依赖包需要注意】
      • 1、上传3个8.0软件包到设备
      • 2、卸载老版本ssh
        • yum remove openssh
      • 3、安装8.0版openssh 在上传的软件包目录下执行安装指令
        • rpm -ivh openssh-*.el7.x86_64.rpm
      • 4、查看openssh版本指令
        • ssh -V //查看已经升级到8.0
  • 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 【正确】
版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:Centos6/7升级到OpenSSH_8.0方法 | 个人技术分享小站
分类:Linux 标签:
WordPress免费响应式主题:Unite主题
boke112导航_独立博客导航平台

发表评论

您必须 登录 才能发表留言!