«

centos升级openssh8.7

LiHaiYang 发布于 阅读:1200 openssh


测试过四台centos7包含离线环境(无外网)和在线环境(有外网并且配置的aliyun的yum源)均没有问题(严格按照命令顺序和步骤执行)

备份重要文件:
    ##升级会重置这两个文件,/etc/pam.d/sshd重置会导致无法连接。/etc/ssh/sshd_config文件会导致之前做的一些特殊配置失效或者root用户在升级完成后无法登录
    cp /etc/pam.d/sshd ./sshd.bak
    cp /etc/ssh/sshd_config ./sshd_config.bak
解压压缩包:
    tar xf openssh8.7.tar.gz
    cd openssh8.7
    rpm -Uvh --force --nodeps *.rpm
还原文件:
    cp ./sshd.bak /etc/pam.d/sshd
    cp ./sshd_config.bak /etc/ssh/sshd_config

执行测试命令
    sshd -t
无输出则表示服务正常

升级完成重新连接可能会出现报错“服务器发送了一个错误的数据包”下面的命令可防止出现此问题
    echo "KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1" >> /etc/ssh/sshd_config
    service sshd restart

如果升级完成发现无法连接服务器可能是因为/etc/pam.d/sshd文件原因可以把以下内容替换文件内原内容即可。(前提是可以连接到服务器并且拥有管理员权限)

    #%PAM-1.0
    auth       required     pam_sepermit.so
    auth       substack     password-auth
    auth       include      postlogin
    account    required     pam_nologin.so
    account    include      password-auth
    password   include      password-auth
    # pam_selinux.so close should be the first session rule
    session    required     pam_selinux.so close
    session    required     pam_loginuid.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session    required     pam_selinux.so open env_params
    session    optional     pam_keyinit.so force revoke
    session    include      password-auth
    session    include      postlogin

如果出现root用户无法登录问题则修改/etc/sshd/sshd_config的配置项。(前提是可以连接到服务器并且拥有管理员权限)

    PermitRootLogin yes  ## 改为yes表示允许root用户登录

如果在连接时出现“服务器发送了一个错误的数据包”则修改/etc/sshd/sshd_config文件在文件内新增以下内容并重启sshd服务。(前提是可以连接到服务器并且拥有管理员权限)

    echo "KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1" >> /etc/ssh/sshd_config
    service sshd restart
1:下载1.0.2版本的openssl-lib、openssl-devel、openssl这三个rpm的安装包,或者直接去http://kodbox.jishuliu.cn/#s/8IwvLHFg下载这ssl.tar.gz这个压缩包内有这三个rpm包
2:把下载的三个安装包放到同一目录下,并且不要有除了这三个rpm之外的rpm包,
2:执行rpm -Uvh --force --nodeps *.rpm安装这三个rpm包即可
#报错:
    cp: overwrite ‘/etc/ssh/sshd_config’? y
    [root@localhost openssh8.8]# sshd -t
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Unable to load host key "/etc/ssh/ssh_host_rsa_key": bad permissions
    Unable to load host key: /etc/ssh/ssh_host_rsa_key
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": bad permissions
    Unable to load host key: /etc/ssh/ssh_host_ecdsa_key
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Unable to load host key "/etc/ssh/ssh_host_ed25519_key": bad permissions
    Unable to load host key: /etc/ssh/ssh_host_ed25519_key
    sshd: no hostkeys available -- exiting.

#解决方案:
    chmod 0600 /etc/ssh/ssh_host_rsa_key
    chmod 0600 /etc/ssh/ssh_host_ecdsa_key
    chmod 0600 /etc/ssh/ssh_host_ed25519_key


扫描二维码,在手机上阅读
取消
微信二维码
微信二维码
支付宝二维码