dss删除项目:TooManyResultsException: Expected one result to be returned by selectOne(), but found: 2.

在DSS中无法创建工作流或删除项目是由于dss_appconn_project_relation表中的重复数据导致。解决方法包括备份数据库,找出并删除重复记录,然后刷新DSS页面以成功删除项目和关联的第三方应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题复现:

dss创建不了工作流和删除不了项目

问题原因:

dss库:dss_appconn_project_relation 表中出现了重复数据。

解决办法:

注:凡是做数据库删除操作必须先备份后操作

SELECT
    project_id,appconn_instance_id,count(1)
FROM
    dss_appconn_project_relation 
GROUP BY project_id,appconn_instance_id HAVING count(1)>1;

删掉重复的

刷新dss页面,删除项目(同时删除第三方),成功删除。

<think>好的,我现在需要解决用户遇到的SSH连接问题,错误是“no matching host key type found”,服务器提供的密钥类型是ssh-rsa和ssh-dss。首先,我得回忆一下这个错误的常见原因。可能的情况是客户端的SSH配置不支持服务器提供的密钥类型,导致协商失败。 接下来,我需要考虑解决方法。根据用户提供的引用内容,修改SSH客户端的配置文件是一个有效的方法。用户提到的引用[1]和[2]都建议在~/.ssh/config文件中添加特定的配置项,比如HostKeyAlgorithms和PubkeyAcceptedKeyTypes(或PubkeyAcceptedAlgorithms),并加入ssh-rsa等类型。这里可能需要确认配置项的正确名称,因为引用中有提到两种不同的写法:PubkeyAcceptedKeyTypes和PubkeyAcceptedAlgorithms。查阅最新的OpenSSH文档,发现正确的配置项应该是PubkeyAcceptedAlgorithms,但不同版本可能有差异,所以可能需要同时尝试。 另外,用户可能需要针对特定的主机进行配置,比如在配置文件中指定Host字段,然后添加对应的配置。如果用户希望全局生效,可能需要使用通配符或者默认配置。还需要提醒用户配置文件的位置和格式是否正确,比如确保每行的缩进和语法正确,没有拼写错误。 还有一种临时解决方法是在连接时通过命令行参数指定支持的密钥类型,例如使用ssh -o选项,但这不适合长期使用,每次连接都需要输入命令。因此,修改配置文件更为方便。 需要验证这些步骤是否适用于用户的环境,特别是不同操作系统或SSH版本可能存在差异。例如,较新的OpenSSH版本可能默认禁用不安全的密钥类型,如ssh-dss,所以需要明确添加支持。同时,用户应注意使用这些较弱的密钥类型可能带来的安全风险,建议在可能的情况下升级服务器密钥类型到更安全的选项,如ed25519或rsa-sha2-256/512。 总结步骤应该是:1)编辑配置文件,添加必要的配置项;2)测试连接是否成功;3)如果问题依旧,检查配置语法和路径是否正确;4)考虑服务器端升级密钥类型。同时,生成相关的问题可以帮助用户进一步理解可能遇到的其他问题或优化措施。</think>### 解决SSH连接中“no matching host key type found”错误的方法 当SSH客户端与服务器协商密钥类型失败时,会提示类似`no matching host key type found. Their offer: ssh-rsa, ssh-dss`的错误。此问题通常是因为客户端默认禁用了服务器提供的密钥类型(如`ssh-rsa`或`ssh-dss`),需手动配置兼容性选项。 --- #### **步骤说明** 1. **修改SSH客户端配置文件** - 打开或创建配置文件`~/.ssh/config`(若不存在需新建)。 - 添加以下配置,显式声明支持的密钥类型: ```bash Host your-server-hostname # 替换为实际主机名或IP HostName xxx.xxx.xxx.xxx User your_username Port 22 HostKeyAlgorithms +ssh-rsa,ssh-dss # 添加服务器提供的密钥类型 PubkeyAcceptedAlgorithms +ssh-rsa,ssh-dss # 声明接受的公钥算法 ``` - 若需对**所有主机生效**,可简化为: ```bash Host * HostKeyAlgorithms +ssh-rsa,ssh-dss PubkeyAcceptedAlgorithms +ssh-rsa,ssh-dss ``` 2. **通过命令行临时指定密钥类型** - 若需临时测试,可在连接时添加参数: ```bash ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa user@host ``` 3. **验证连接** - 执行`ssh user@host`测试是否成功。 - 若仍失败,检查配置文件语法(如缩进、拼写错误)或重启SSH服务。 --- #### **注意事项** - **安全性风险**:`ssh-rsa`(SHA-1)和`ssh-dss`(DSA)已被认为不够安全,建议服务器升级到更安全的算法(如`ed25519`或`rsa-sha2-256/512`)[^1][^2]。 - **配置优先级**:命令行参数优先级高于配置文件,若冲突需检查参数覆盖情况。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是刘望舒

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值