# CentOS安装scp命令

- Link: https://yjyj.net/learn/2522.html
- Published: 2013-04-20T11:38:41+08:00
- Author: 小 虾

⚡ 生猛大蝦编辑部 · 30 秒核心看点

 * scp 不是单独软件包，CentOS 里要装 openssh-clients 才能用。
 * 遇到 bash: scp: command not found，先别急着找 scp 包，先查依赖归属。
 * 两台服务器都装好 openssh-clients 后，scp 传输就能正常跑起来。

新服务器ok了,准备转移数据的时候使用scp命令出了问题.
 提示:

    ```decode:true
    bash: scp: command not found
    lost connection
    ```

当即想到使用:

    ```decode:true
    yum -y install scp
    ```

进行安装,但是却提示:

    ```decode:true
    No package scp available.
    ```

查了下资料才发现scp这东西应该属于openssh-clients这个包，运行：

    ```decode:true
    yum install openssh-clients
    ```

两台服务器都安装一下openssh-clients后,scp命令就可以舒畅的使用了.

📌 生猛大蝦编辑部 · 背景与实操延伸

这类报错很典型：表面看是 scp 缺失，实则是客户端组件没装全。CentOS 里很多常用命令
都被拆进不同包，排错时别只盯着命令名，先查它属于哪个软件包，再用 yum 搜索或安装对应
组件。做服务器迁移时，建议先确认 SSH 连通、账号权限和目标目录可写，再执行 scp，能
少走很多弯路。

❓ 延伸问答与排错指南（FAQ）

CentOS 提示 scp: command not found 怎么办？

先确认系统是否安装了 openssh-clients。scp 命令并不单独归在 scp 包里，CentOS 上通常
需要执行 yum install openssh-clients 安装对应组件，装好后再重试传输命令。

为什么 yum -y install scp 会提示没有这个包？

因为 scp 不是独立软件包名称，系统仓库里通常找不到这个包。scp 功能包含在 openssh-
clients 中，所以应改装 openssh-clients，而不是直接装 scp。

两台服务器都要安装 openssh-clients 吗？

原文做法是两台服务器都安装 openssh-clients 后再使用 scp。实际排障时，至少发起传输
的一端要具备 scp 命令；若两端都要互传，建议都装好，省得来回踩坑。

📚 【[招数学习](https://yjyj.net/category/learn)】专栏延伸阅读与热门精选（[全站文章归档](https://yjyj.net/archive)）：

 * [远程桌面不能复制粘贴解决办法](https://yjyj.net/learn/2518.html)
 * [centos 5.x下安装git](https://yjyj.net/learn/centos/2514.html)
 * [给军哥的lnmpa安装mod_expires](https://yjyj.net/learn/centos/2526.html)
 * [MySQL导入数据提示MySQL server has gone away 之一的解决办法](https://yjyj.net/learn/2858.html)
 * 热门必读[CSS 盒模型边界重叠 (Margin Collapse) 原理与解决方案](https://yjyj.net/css/3536.html)
 * 热门必读[css布局实例](https://yjyj.net/learn/3901.html)
