OpenEuler algorithm negotiation fail

本文介绍了如何在OpenEuler系统中,通过修改sshd_config文件中的HostKeyAlgorithms和PubkeyAcceptedKeyTypes配置,解决使用jcraft连接时遇到的SSH异常问题,涉及添加ssh-rsa算法。
摘要由CSDN通过智能技术生成

背景

使用jcraft连接OpenEuler机器出现上述异常

解决方案

  • 修改ssh server的服务配置
  • 具体步骤如下
打开/etc/ssh/sshd_config文件,在HostKeyAlgorithms和PubkeyAcceptedKeyTypes配置项增加ssh-rsa

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.20230427
# grep -vE '^#|^$' /etc/ssh/sshd_config
# vi /etc/ssh/sshd_config
HostKeyAlgorithms ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512
PubkeyAcceptedKeyTypes ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512
在HostKeyAlgorithms和PubkeyAcceptedKeyTypes配置项增加ssh-rsa
HostKeyAlgorithms ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa
PubkeyAcceptedKeyTypes ssh-ed25519,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-256,rsa-sha2-512,ssh-rsa

# systemctl restart sshd
# systemctl status sshd

参考

  • https://forum.openeuler.org/t/topic/2665/5
SFTP (Secure File Transfer Protocol) 是一种安全的文件传输协议,用于在不安全的网络中提供加密的数据传输。如果遇到 "SFTP Connect Fail! Algorithm negotiation fail" 错误,通常意味着客户端和服务器在协商加密算法时未能达成一致,导致连接失败。以下是一些可能的原因: 1. **加密算法不兼容**:SFTP支持多种加密算法,如SSH-1的DES, SSH-2的AES等。如果服务器支持的加密级别低于客户端期望的,或反之,就会发生谈判失败。 2. **SSL/TLS版本问题**:如果客户端和服务器使用的SSL/TLS版本不匹配,也可能导致算法协商错误。 3. **证书问题**:客户端可能无法识别或信任服务器的SSL/TLS证书,这会导致协议无法正常初始化。 4. **防火墙或安全软件阻止**:某些安全设备可能会阻止使用特定的加密算法,尤其是在企业环境中。 5. **系统配置错误**:客户端的SFTP客户端软件可能存在配置问题,比如没有正确设置加密算法或者协议版本。 6. **服务器配置限制**:有些服务器可能出于性能考虑或安全策略,只允许特定的加密算法。 为了排查问题,你可以按照以下步骤操作: 1. **检查服务器设置**:确保服务器启用并支持的加密算法与客户端兼容。 2. **查看日志**:查看服务器端和客户端的SFTP日志,寻找关于失败协商的具体信息。 3. **更新客户端**:确保使用的SFTP客户端软件是最新版本,并且加密库也是最新的。 4. **临时关闭防火墙**:测试连接是否能成功,以排除防火墙或安全软件的干扰。 5. **检查SSL/TLS配置**:确认双方使用的SSL/TLS版本是否在允许范围内。 如果你需要更详细的帮助,可能需要提供更具体的错误信息或环境描述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值