【问题标题】:Failed to upload a file to ec2 instance上传文件到ec2实例失败
【发布时间】:2014-06-04 03:02:51
【问题描述】:

我是新手,我只想为发烧 rss 设置一个 ec2 实例。 这是我的信息:os x 10.9.2,aws with ami of ubuntu 12.04 lts。我按照本指南在 ec2 上设置了灯:http://www.robotmedia.net/2011/04/how-to-create-an-amazon-ec2-instance-with-apache-php-and-mysql-lamp/

现在我可以使用终端 ssh 到我的服务器公共 IP。连接服务器后,我输入了

scp -i /path/to/keypair.pem /path/to/test.txt ubuntu@theServerPublicIP:~/

得到如下错误:

Warning: Identity file keypair.pem not accessible: No such file or directory.

我尝试通过以下方式解决问题: 1.在我的os x上将.pem文件的权限改为600。

chmod 600 keypair.pem

再次ssh,再次scp,得到同样的错误。然后我在我的 os x 上将其权限更改为 400,

chmod 600 keypair.pem

然后重做了ssh和scp,同样的错误。

  1. 使用 ~/path/to/file 为 keypair.pem 和 test.txt 重写文件路径,然后重做 ssh 和 scp,得到同样的错误。 接下来使用 /Users/myUserName/path/to/file 重写文件路径并重新设置 ssh 和 scp,得到相同的错误。 接下来cd到keypair.pem和test.txt的文件夹(我把它们放在同一个文件夹中),并尝试了上面两个命名,每个都得到相同的错误。

  2. 更改服务器上的路径。我试过"~","~/","/","/var/www/",但我仍然得到同样的错误。

  3. 我也尝试了叉车,因为我看到 Fever 的开发者在演示视频中使用它。我尝试了所有连接选项:sftp...但无法连接到服务器。

请帮忙把test.txt上传……然后我就可以上传发烧文件夹了。

谢谢!

【问题讨论】:

  • 警告:无法访问身份文件 keypair.pem:没有这样的文件或目录。您是否检查过该路径上的 ec2 实例上是否存在文件
  • @GhostRider 嗨,我的 Mac 上只有 keypair.pem。你的意思是我应该在服务器上拥有一份 keypair.pem 的副本,然后才能进行 scp?
  • 是的...您尝试根据您的 qsn 在 ssh 之后 scp 到服务器,当您在实例上时,密钥应该在 /home/ubuntu/.ssh 中可用并且应该被引用从这里
  • 您需要检查 .pem 文件是否在您在命令中提到的路径上,以及您是否对远程目录(您尝试上传文件的位置)具有写入权限。跨度>
  • 感谢 chmod 600 为我工作...我正在为我的 pem 文件使用 chmod 400。顺便说一句,你解决了这个问题吗?

标签: amazon-ec2 scp


【解决方案1】:

如果你必须经常这样做,我建议你创建一个别名。

例如:我在 EC2 实例上运行一个网络服务器,并且我在本地目录 awsplaywww 中有 HTML 内容

$ alias syncaws="rsync -avrz --delete /home/sanket/workspace/awsplaywww/ -e ssh sanket@awsplay1.ddns.net:/var/www/html/"

现在每次我更新 HTML 文件或其他内容并需要将其发送回服务器时。我只需打开终端并输入syncaws 并完成工作!

【讨论】:

    猜你喜欢
    • 2013-10-24
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2013-10-15
    • 2015-11-19
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多