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

cph*_*ill 2 linux ssh scp amazon-ec2 amazon-web-services

我已经按照提供的文档将本地文件传输到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
Run Code Online (Sandbox Code Playgroud)

这是我的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
Run Code Online (Sandbox Code Playgroud)

这是我的文件夹和文件权限

Ec2实例文件夹路径:

/var/app/current/config
drwxr-xr-x  2 nodejs nodejs 4096 Oct  9 14:35 config
Run Code Online (Sandbox Code Playgroud)

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

-rw-r--r--@ 1 user  staff  1706 Sep 24 15:09 pk-cfappkey.pem
Run Code Online (Sandbox Code Playgroud)

详细的错误消息(摘要):

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
Run Code Online (Sandbox Code Playgroud)

Tad*_*egn 10

更新目标文件夹权限

chmod 777 -R /destination/folder/location
Run Code Online (Sandbox Code Playgroud)


Jak*_*uje 8

scp: /var/app/current/config/pk-cfappkey.pem: Permission denied
Run Code Online (Sandbox Code Playgroud)

您的用户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:
Run Code Online (Sandbox Code Playgroud)

然后连接到服务器:

ssh ec2-user@ec2-[id].compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

并通过适当的sudo访问权限将其移动到适当的位置:

sudo cp pk-cfappkey.pem /var/app/current/config/
Run Code Online (Sandbox Code Playgroud)