Tips - Yum No match for argument: ssh

本文介绍如何通过OpenSSH实现安全的远程连接。当使用yum未能找到ssh相关的rpm包时,可以采用OpenSSH作为替代方案。OpenSSH提供了一种加密的方式来进行远程控制和文件传输,从而替代了传统上不安全的方法,如telnet和rcp等。

使用yum search ssh,并没有发现任何ssh发行rpm包。

使用替代品:openssh

验证:ssh 用户@主机IP (根据提示输入密码)

 

补充知识:

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。

SSH协议族可以用来进行远程控制, 或在计算机之间传送文件(scp)。
而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
 

OpenSSH的分为客户端和服务端两部分

客户端的配置文件:/etc/ssh/ssh_config


SSH服务端

配置文件:/etc/ssh/sshd_config
服务脚本:/etc/rc.d/init.d/sshd

其他移步 openssh 官网:

https://www.openssh.com/

<think>根据用户的问题,用户在使用`sudo yum remove`命令卸载Docker相关组件时遇到了"No Match for argument"的错误提示。引用内容中提到了卸载原有Docker的建议(引用[2]),以及添加Docker仓库的方法(引用[4]),还有在安装docker-compose时也遇到了类似的错误(引用[3])。用户的主要需求是解决卸载时出现的问题。 分析问题:出现"No Match for argument"的错误通常是因为系统中没有安装指定的软件包,因此yum无法卸载它们。可能的原因是: 1. 软件包确实没有安装。 2. 软件包名称不正确,或者需要完整的名称(包括版本号等)。 3. 可能用户之前安装的Docker版本不同,或者从非标准仓库安装,导致软件包名称不一致。 解决思路: 1. 首先确认系统中已安装的Docker相关软件包,然后尝试卸载这些具体的软件包。 2. 如果不知道具体安装了哪些软件包,可以使用`yum list installed`命令查找。 3. 如果确实没有安装,那么无需卸载,直接进行后续步骤(如安装新版本)。 4. 如果用户希望彻底清除,可以使用引用[2]中的卸载命令(该命令指定了一系列软件包名称),但需要根据实际安装情况调整。 具体步骤: 1. 列出所有已安装的Docker相关软件包: ```bash sudo yum list installed | grep docker sudo yum list installed | grep containerd ``` 2. 如果找到相关软件包,则使用`sudo yum remove`命令卸载它们,例如: ```bash sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine ``` 注意:引用[2]中提供了这样一组命令。 3. 如果上述命令无法找到软件包,可能是因为系统上安装的是docker-ce版本(社区版),那么可以尝试卸载docker-ce相关包: ```bash sudo yum remove docker-ce docker-ce-cli containerd.io ``` 4. 但是用户已经尝试过卸载docker-ce等,提示没有匹配项。因此,应该先检查这些包是否安装。如果没有安装,那么错误是正常的,用户可以直接跳过卸载步骤。 5. 另外,用户可能已经卸载了这些软件包,只是再次执行卸载命令时出现错误。此时忽略即可。 6. 如果用户需要安装新版的Docker,在卸载旧版后,按照引用[4]的方法添加仓库(比如阿里云镜像),然后进行安装。 综上所述,解决步骤应该是: - 检查已安装的软件包,确定是否有Docker相关包存在。 - 如果有,则卸载存在的具体软件包(使用查到的名称)。 - 如果没有,则无需卸载,直接进行后续操作。 此外,引用[4]提到了添加docker-ce.repo仓库,这通常是安装新版本Docker的前提,但卸载操作并不依赖仓库的存在。 因此,回答应该引导用户检查已安装的软件包,然后根据检查结果执行卸载。 </think>根据您描述的卸载Docker组件时出现`No match for argument`错误,结合参考信息,以下是系统性的解决方法: ### 原因分析 1. **未找到软件包**:系统未安装指定的软件包(如`docker-ce`、`containerd.io`等)[^2][^3] 2. **名称不匹配**:实际安装的软件包名称可能与命令中的名称不一致 3. **仓库配置问题**:yum仓库未包含Docker相关软件源[^4] ### 解决方案 #### 步骤1:检查已安装的Docker组件 ```bash sudo yum list installed | grep -E 'docker|containerd' ``` 输出示例: ``` containerd.io.x86_64 1.6.28-3.1.el7 @docker-ce-stable docker-ce.x86_64 24.0.7-1.el7 @docker-ce-stable ``` #### 步骤2:卸载找到的组件 使用实际查到的包名卸载: ```bash # 示例(根据实际输出调整) sudo yum remove containerd.io docker-ce docker-ce-cli ``` #### 步骤3:彻底卸载残留组件 如果仍提示错误或需彻底清理: ```bash sudo yum remove docker* containerd* runc 2>/dev/null # 通配符匹配 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd ``` #### 步骤4:验证卸载结果 ```bash docker --version # 应显示"command not found" which docker # 应无输出 ``` ### 补充说明 1. **若系统从未安装Docker**:`No match`属于正常提示,可跳过卸载直接安装新版[^1][^3] 2. **安装新版本**:卸载后如需重装,建议添加官方仓库: ```bash sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 或使用国内镜像加速: ```bash sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ``` ### 预防措施 - 首次安装时记录具体包名:`sudo yum install docker-ce`会显示完整包名 - 保持仓库配置更新:`sudo yum makecache`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雷学委

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

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

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

打赏作者

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

抵扣说明:

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

余额充值