scp 拷贝远端文件失败

正常使用 ssh 连接远端是可以的,如:

# dev 为远端 .ssh/config 配置
$ ssh dev
Last login: Thu Nov 24 15:23:10 2016 from 192.168.xx.xx
Welcome

但是使用指令scp远端文件却显示错误:

$ scp dev:ssh.zip ./
Welcome
# 并没有将文件 cp 下来

查了一下发现,scp 的过程是先隐藏使用 ssh 登录到远端,然后再执行 cp 的操作,上面的 "Welcom" 是在 ssh 登录时 shell startup script(比如 profile , bashrc)自动执行过程中产生的内容输出,当我在 .bashrc 中找到这句 echo "Welcome" 注释掉后再执行 scp 顺利的将文件 拷贝了下来,由此推测:
scp / sftp 会把这些 echo 的内容也传回来,并认作协议包的一部分进行解析,导致解析错误,最终导致文件拷贝失败。
所以使用 scp 指令时,ssh 登录不能出现 echo 输出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容