AWS Ec2 - Scp文件传输权限被拒绝

9
我已经按照提供的文档进行操作,想将本地文件传输到位于EC2实例内的目录中,但是我一直收到一个“Permission denied”的错误提示,其中包含了我的EC2实例中路径和文件的信息。
这不应该是凭据的问题,因为我使用相同的命令进行ssh时没有任何问题。我感到好奇的是可能是我的EC2实例或本地文件夹权限所造成的问题,是否阻止了传输。
附注:不确定是否有影响,但当我使用相同的凭据进行ssh时,我被带到/home/ec2-user,并且当我运行ls -a时,我没有看到/var/app列出来,但可以毫无问题地cd进去并找到我的应用程序。
完整的错误消息如下:
scp: /var/app/current/config/pk-cfappkey.pem: Permission denied

这是我的scp命令:

scp -vvv -i /Users/user/.ssh/app-key-pair /Users/user/Desktop/Projects/node/project/config/pk-cfappkey.pem ec2-user@ec2-[id].compute-1.amazonaws.com:/var/app/current/config

这里是我的文件夹和文件权限。
Ec2实例的文件夹路径:
/var/app/current/config
drwxr-xr-x  2 nodejs nodejs 4096 Oct  9 14:35 config

本地文件(pk-cfappkey.pem):

-rw-r--r--@ 1 user  staff  1706 Sep 24 15:09 pk-cfappkey.pem

详细错误消息(摘要):
debug1: Connecting to ec2-[id].compute-1.amazonaws.com [id] port 22.
debug1: Connection established.
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug2: callback start
debug1: Sending command: scp -v -t /var/app/current/config
debug2: channel 0: request exec confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
Sending file modes: C0644 1706 pk-cfappkey.pem
debug2: channel 0: rcvd ext data 45
Sink: C0644 1706 pk-cfappkey.pem
debug2: channel 0: written 45 to efd 8
scp: /var/app/current/config/pk-cfappkey.pem: Permission denied
debug2: channel 0: read<=0 rfd 6 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
2个回答

14
scp: /var/app/current/config/pk-cfappkey.pem: Permission denied

您的用户ec2-user没有对目录/var/app/current/config/的写入权限。您应该将文件复制到其他地方:

scp -vvv -i /Users/user/.ssh/app-key-pair \
  /Users/user/Desktop/Projects/node/project/config/pk-cfappkey.pem \
  ec2-user@ec2-[id].compute-1.amazonaws.com:

然后连接到服务器:

ssh ec2-user@ec2-[id].compute-1.amazonaws.com

使用适当的sudo权限,将其移动到正确的位置:

sudo cp pk-cfappkey.pem /var/app/current/config/

10

使用以下命令更新目标文件夹的权限:

chmod 777 -R /destination/folder/location

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接