linux/scp命令报“bash: scp: command not found lost connection”错误的解决办法

这两天接到的任务是给 JAVA 开发项目组部署【JAVA+MySQL 主从+Redis 主从】运行环境。部署过程中大问题倒没有,小问题却不少,因此也涨了不少经验值。后续有时间我会一一整理记录下来,沉淀而不忘分享。

今天,装完一台 redis,并配置好 redis.conf 后,想偷懒直接用 scp 传到另一台 redis,省去全部重新编辑的麻烦。结果一执行就出现下面这个错误:

bash: scp: command not found

所有机器我都是最小化安装,所以很多组件没装也是情理之中,所以用 yum 装一下 scp:

yum -y install openssh-clients

装完后,继续执行之前的命令,结果出现如下错误:

[root@cache-ns-4 etc]# scp redis.conf root@192.168.17.125:/usr/local/redis/etc/
root@192.168.17.125's password:
bash: scp: command not found
lost connection
[root@cache-ns-4 etc]# whereis scp
scp: /usr/bin/scp /usr/share/man/man1/scp.1.gz

我擦,这就诡异了!明明装了为毛提示不存在呢? 而且还提示输入密码了,用 whereis 也能找到 scp,没办法从 man 中找到一个 DEBUG 参数 -v,于是如下增加 -v 参数执行试试:

[root@cache-ns-4 etc]# /usr/bin/scp -v  redis.conf root@192.168.17.125:/usr/local/redis/etc/
Executing: program /usr/bin/ssh host 192.168.17.125, user root, command scp -v -t /usr/local/redis/etc/
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
******此处省略数行******
root@192.168.17.125's password:
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
#关键信息来了,这边将scp命令send到对方,对方提示scp没找到,原因水落石出!
debug1: Sending command: scp -v -t /usr/local/redis/etc/
bash: scp: command not found
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 1624, received 2096 bytes, in 0.2 seconds
Bytes per second: sent 9088.1, received 11729.5
debug1: Exit status 127
lost connection
[root@cache-ns-4 etc]#

原来是因为目标主机也没装 scp,倒是我大意了!登陆后再次执行如下命令安装 scp:

yum -y install openssh-clients

回到之前的服务器上,执行最初的命令,果然毫无意外成功了:

[root@cache-ns-4 etc]# /usr/bin/scp  redis.conf root@192.168.17.125:/usr/local/redis/etc/
root@192.168.17.125's password:
redis.conf                                                                                        100%   35KB  35.3KB/s   00:00
[root@cache-ns-4 etc]#

网站搜索这个故障,大部分经验都是告知要安装 scp,然后给出一个 yum 在线安装 scp 的命令。实际上,明明已经提示要输入密码了,说明 scp 是正常安装的!还继续报找不到命令,我们就只能从 scp 的执行过程来分析了,因此就借助到了 scp 的 debug 参数(-v),很清楚的看到了整个执行过程,从而得知真正的原因是对方主机没有安装 scp,而且还可以清楚的看到 scp 的工作流程。

中午时间有限,就写这么多了,希望遇到这个问题的人,看到此文能少走点弯路。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大魏分享(微信公众号:david-share)

ACID到底是个啥?浅谈微服务架构中的分布式数据管理

ACID到底是个啥? 在传统的单体应用中,其后端通常会有一个关系型数据库,如Oracle DB、MySQL等。通过关系型数据库,有助于保证业务的ACID。 AC...

4565
来自专栏FreeBuf

你说安全就安全?对红芯浏览器的一次安全测试

近日,红芯浏览器“套壳”一事被网络舆论炒的沸沸扬扬。红芯浏览器被官方标榜为“安全、稳定、可控的企业浏览器”,其中“自主可控”一项已经被舆论所质疑,但是被官方放在...

872
来自专栏hotqin888的专栏

电子规范管理系统(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1731
来自专栏FreeBuf

Python渗透测试工具都有哪些?

如果你热爱漏洞研究、逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言。它包含大量实用的库和工具,本文会列举其中部分精华。 网络 Scapy, ...

5158
来自专栏大魏分享(微信公众号:david-share)

从API源码看API经济 | 从开发角度看应用架构13

https://yq.aliyun.com/articles/497806?utm_content=m_42865

2242
来自专栏小白安全

小白博客 Windows最基本快捷键功能

今天要说的东西,可能不少朋友都会觉得太基础,或者不适用但是还会有不少朋友喜欢的 其实 Win 的快捷键有很多,甚至很多人还能自己把热键改成自己喜欢的。 ? 首先...

2895
来自专栏余子军的专栏

Linux 2.6.16 TCP 连接速度异常的问题分析

发现访问公司某些业务时,速度非常不稳定,并且整体慢于竞争对手。分析认为 SESU10 母盘上内核 TCP 拥塞控制算法和 Windows 的 Ack 频率控制的...

2K0
来自专栏即时通讯技术

应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)

在Android 4.4及以后的系统中,应用能否常驻内存,一直以来都是相当头疼的事情,尤其移动端IM、消息推送这类应用,为了保证“全时在线”的概念,真是费尽了心...

7601
来自专栏跟着阿笨一起玩NET

公开封尘已久的即时通讯源码

理论上功能是实现了,但是在NAT穿透上有问题,所以P2P有时不能成功,所以在外网,只是一个玩具而已

5773
来自专栏北京马哥教育

123个Python黑客工具,再也不用问女朋友要手机密码了

今天的文章来源于dloss/python-pentest-tools,本文中列举了123个Python渗透测试工具,当然不仅于渗透~ 下面我们就开始吧~ ———...

5094

扫码关注云+社区

领取腾讯云代金券