linux/scp命令报“bash: scp: command not found lost connection”错误的解决办法
时间:2022-05-05
本文章向大家介绍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 的工作流程。
中午时间有限,就写这么多了,希望遇到这个问题的人,看到此文能少走点弯路。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 文字识别接入常见问题
- 从 1 到 0 构建博客项目(2) -- 操作系统篇(2)--定制Centos
- 使用Angular依赖注入自定义SAP Spartacus的ProductAdapter
- 获取SAP Spartacus当前显示产品json数据的又一办法
- SAP Spartacus注入自定义的CurrentProductService
- Redis系列(十三)应用之分布式锁
- Oracle数据库 sql条件查询语句与练习
- (六)Hive优化
- mapreduce -- wordcount执行流程
- (三)Hive基本操作命令
- 链表神操作 --- 快慢指针
- appium教程_2.概念加深
- [javascript] cdn模式下vue和vue-router实现路由
- (干货)前端实现导出excel的功能
- 完美解决JavaScript的深浅拷贝