我试图把我的Amazon EC2实例中的一个文件存入我的Linux机器。 我已经做了相当多的阅读,似乎没有任何工作。
我可以从我的Linux机器SSH到我的实例(这是我如何连接到它),甚至可以通过做scp -i my-key-pair.pem SampleFile.txt ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~
进入它scp -i my-key-pair.pem SampleFile.txt ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~
。 根据亚马逊在这个环节的说明,为了让SCP从实例到我的机器,我只需要“简单地颠倒主机参数的顺序”。 换句话说,这个:
scp -i my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt
我用googlesearch了一下,甚至还读了一些类似的问题,包括这个 ,但是我没有运气。 我不确定是什么问题。 有一天,我设法跨越实例(即从一个EC2实例到另一个实例)没有问题 – 至less据说需要多一点修补。
另一个令我困扰的问题是,从实例到本地机器的SCP命令包含私钥(上面代码块中的my-key-pair.pem),而我寻找实例上的.pem文件并没有find。 我错过了什么吗? 提前致谢。
顺便说一下,我看到通用的“权限被拒绝(公钥)”错误。
我发现问题是什么。 我是从实例运行的命令,而不是我的本地机器,这有点奇怪,因为当你从一个实例到另一个实例的SCP从你正在复制的实例运行SCP命令,但是哦。
`scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/`
– 如果使用的密钥不是默认密钥,则使用上述命令从服务器scp中找到一个文件夹。
scp -r -i key.pem user@your.server.example.com:/path/to/foo /home/user/Desktop/
这个命令应该首先通过ssh连接到Amazon EC2,
scp -i my-key-pair.pem <local file name on Amazon EC2> user_name@<linux_host_ip>:/<copy path>
例如:
scp -i my-key-pair.pem SampleFile2.txt user_name @ linuxHostIp :/home/userName/fileName.txt
您的机器的IP是预期的,而不是你的路由器 。
否则,可能无法识别要复制到哪台机器, 并将所有数据复制到不需要的路由器后面的所有机器上 。
可能这就是为什么它失败了。