执行SCP命令拷贝文件失败

 

scp是我最常用的远程文件拷贝工具,今天发现突然不能用了:

svan-mac:hive-tools xiean$ scp  -Pxx target/urs-hive-tools-jar-with-dependencies.jar hzxiean@xxxxxxx:/home/hzxiean/
Pseudo-terminal will not be allocated because stdin is not a terminal.

 

起初,怀疑是我在IDE 的termail 里边执行时的问题。

于是我打开自带的termail 发现还是报同样的问题。

额,只能 google 找找看咯,结果找了一圈没有找到 scp相关的, 到是有找到ssh相关的, 看了一下需要加个参数  -tt  强制ssh使用 -tty模式。

于是我也学学ssh 的, 在scp是加上 -tt , 但是 然并卵。

 

我开始回想我昨天的时候都好好的, 今天怎么就不行了呢?而且我直接ssh 是OK的, 奇怪哈,于是想到scp 在执行 拷贝文件的时候会先隐藏的调用ssh ,然后在执行文件传输。

那么问题就迎刃而解了, 因为 xxx 这台服务器是我们的挑板机,然而我基本上没吃登陆挑板机都上 到同一台 master 上进行后续操作的, 那么昨天就懒了一下, 直接在 挑搬机的 .bashrc 文件里边加了个 命令行,以此达到 我在本地 ssh 挑板机的时候, 直接帮我转到工作服务器上。

 

ok , 那么我先把 昨天加到 .bashrc   上的命令给去掉, 试试看是不是正如我猜测的一样。

=-----

svan-mac:hive-tools xiean$ scp -Pxx target/urs-hive-tools-jar-with-dependencies.jar hzxiean@xxxxxx:/home/hzxiean/
urs-hive-tools-jar-with-dependencies.jar 100% 3874KB 968.5KB/s 00:04

 

结论:

有时候抛出的错,并不是它所呈现出来的样子, 我们需要想想OK时候的样子,再想想Bad 时候的样子;结合这两种状态, 问题就得以解决啦。

你可能感兴趣的:(执行SCP命令拷贝文件失败)