OpenSSH源码包制作RPM包,升级后无法连接问题

1.制作rpm安装包

OpenSSH: Release Noteshttps://www.openssh.com/releasenotes.html

 源码包推荐地址:

wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.0p1.tar.gz
wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz

制作包的步骤可以参考:OpenSSH升级8.5版本rpm包制作过程及安装

编译过程遇到的错误:
Error:构建依赖失败: openssl-devel < 1.1 被 openssh-8.8p1-1.el7.x86_64 需要
解决:[root@localhost SPECS]# vi openssh.spec 注释掉 BuildRequires: openssl-devel < 1.1 这一行

 2.OpenSSH升级无法用老版本crt和xshell5及5以下版本密码验证登录解决方法

cp -rp /etc/ssh/ /etc/ssh.bak/
cp -rp /etc/pam.d/ /etc/pam.d.bak/
tar zxf openssh-8.8p1-1.tar.gz
rpm -Uvh openssh-*.rpm

chmod 400 /etc/ssh/{ssh_host_ecdsa_key,ssh_host_ed25519_key,ssh_host_rsa_key} #400或600都可以尝试一下

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config                #允许root帐号远程登录
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config         #开启密码认证方式
echo 'UsePAM yes' >> /etc/ssh/sshd_config                          #开启UsePAM登录

echo "KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org"  >> /etc/ssh/sshd_config    #添加支持的加密算法,解决openssh升级后,旧算法不再支持致CRT工具远程连接时无法连接

echo "HostKeyAlgorithms +ssh-rsa"  >> /etc/ssh/sshd_config    #添加ssh-rsa算法,解决openssh升级后,旧算法不再支持致CRT工具远程连接时无法连接

cat /etc/pam.d.bak/sshd > /etc/pam.d/sshd    #升级后sshd文件被重置,需还原配置

用xshell6登录可以在上面的基础删除以下部分

echo "KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org"  >> /etc/ssh/sshd_config    #添加支持的加密算法,解决openssh升级后,旧算法不再支持致CRT工具远程连接时无法连接

echo "HostKeyAlgorithms +ssh-rsa"  >> /etc/ssh/sshd_config    #添加ssh-rsa算法,解决openssh升级后,旧算法不再支持致CRT工具远程连接时无法连接


3.支持密钥+密码方式访问

#备份现有的配置文件和权限文件
cp -rp /etc/ssh/ /etc/ssh.bak/
cp -rp /etc/pam.d/ /etc/pam.d.bak/
#上传升级包到服务器进行解压,切换到解压后的目录
cd openssh8.8p1-1
#关闭selinux,需要修改/etc/selinux/config disabled
setenforce 0
#升级安装
yum localinstall -y ./openssh*.rpm  (或rpm -Uvh openssh*.rpm或yum -y update openssh*.rpm)
#给文件授权
chmod 400 /etc/ssh/ssh_host_*


#检查配置文件中是否开启允许root远程登录和密码登录,没有开启执行以下两句

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config        #允许root帐号远程登录
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config    #开启密码认证方式
echo 'UsePAM yes' >> /etc/ssh/sshd_config                      #开启UsePAM登录

#修改配置
vim /etc/ssh/ssh_config

Host *
PubkeyAcceptedKeyTypes=+ssh-rsa
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
#是否允许密码登陆,no为不允许
PasswordAuthentication yes
#如果密码和密钥都使用在末尾加上此行代码
#AuthenticationMethods publickey,password
#允许的加密算法
Pubkeyacceptedkeytypes ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa

#  替换sshd授权文件内容

cat /etc/pam.d.bak/sshd > /etc/pam.d/sshd   #升级后sshd文件被重置,需还原配置

#  重启服务

systemctl restart sshd && systemctl enable sshd

#  升级完成后清理安装包
#  验证

ssh -V

                                                                                                                                                --小胖

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工具人01

仗剑天涯,从你的打赏开始

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值