ssh를 통한 scp 복사가 작동하지 않습니다-권한 거부 오류입니다.


83

그것은 나를 미치게합니다! 랩톱에서 서버로 하나의 간단한 파일을 전송하고 싶습니다.

두 컴퓨터에서 우분투를 사용하고 있습니다.

그래서 나는 가지고있다:

-rwxr-xr-x 1 sandro    414622 2011-10-14 23:42 sandrophoto-html.tar.gz

그리고 나는 다음을 사용하여 그것을 보내고있다 :

sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx

그리고 나는 얻는다 : scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied

추신 : 나는 다른 방법 으로이 일을하고있을 수있다-나는 데스크탑에있는 tar.gz 파일을 원격 서버의 / media / yadayda 폴더로 보내고 싶다.


2
제 경우에는 수신 측의 보안상의 이유로 원격 사용자가 파일을 쓸 수 있도록 디렉토리를 chmod해야했습니다 (i chmod 777 디렉토리-내부 실험실 임)
ilansch

답변:


95

내가 이해 한 것부터 올바른 순서로 물건을 가지고 있습니다. scp가 수행되는 일반적인 방법은 다음과 같습니다.

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/

귀하의 질문에 따라 대상 서버로 보내려는 로컬 파일이 있습니다. 따라서 올바른 구문이 있습니다!

권한이 거부되면 올바른 사용자 이름이나 인증에 누락 된 내용을 사용하지 않는 것입니다. 아마도 sudo 명령은 로컬에서만 작동하기 때문에 원격 상자에서 루트를 제공하지 않으므로 문제 일 수 있습니다. 원격 서버에서 로그인 한 사용자에게 쓰려는 위치에 대한 쓰기 권한이 있는지 확인하십시오.

문제가 대상 사용자가 sudo없이 해당 위치에 액세스 할 수없는 경우 파일을 대상 사용자의 홈 폴더로 이동 한 다음 다른 서버의 쉘에서 파일을 sudo mv하여 올바른 위치에 놓으십시오.


9
감사합니다. 대상 디렉토리에 쓰기 권한을 추가해야했습니다
PiKey

@PiKey 정답입니다
Code-Guru

39

안녕하세요.이 같은 권한 오류 문제 가이 방법으로 해결되었습니다.

복사하려는 디렉토리 192.168.0.4가 사용자 이름으로 소유되어 있는지 확인하십시오.

chown username downloads

그런 다음 로컬 컴퓨터에서

sudo scp filename.zip username@192.168.0.4:/etc/Myfiles/downloads

건배


thx, 권한, 특히 여기에 내가 chmod원격 서버의 대상 폴더에서 사용해야 했다
Aquarius Power

26

허용 거부는 서버의 루트가 아님을 의미합니다. 당신은 거기에 계정을 보유하고 있습니다. 따라서이 경우 다음을 수행해야합니다.

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

서버의 홈 디렉토리로 복사됩니다.

이것은 또한 작동합니다 :

scp -r /path2yourFolder/ username@server_Ip:~/

2
생명의 은인! : ~ / 나를 위해 그것을했다.
trdavidson

~/실제로는 -r전체 디렉토리를 재귀 적으로 복사하는 것입니다.
Noam Manos

9

파일이 대상 위치에 이미 존재하고 기존 파일에 읽기 전용 권한이있는 경우 (파일 덮어 쓰기 방지)이 오류가 발생했습니다. 내 경우에는 방금 로그인하여 기존 파일을 삭제하여 문제를 해결했습니다.


7

나는 때문에 일어난 비슷한 문제가 있었다 ssh-p xxxx하면서 포트를 지정하는 데 scp걸리는 -P xxxx포트를 지정할 수 있습니다. 사소한 불일치로 놓치기 쉽다 :(


칭찬 해 더 눈에 잘 scp doesn't work Permission denied (publickey). lost connection for ec2 compute.amazonaws.com

0

같은 문제가 있었다. 소스 파일이 들어있는 디렉토리에 충분한 권한이 없다는 것을 알았습니다. 그래서 chmod -R 771 directory_path소스 머신에서 다음을 사용하여 재귀 적으로 모드를 변경했습니다 .


0

로컬 컴퓨터에서 다음과 같이 복사하려고했습니다 username@localhost. 사용중인 SSH 키가 로컬 호스트에 액세스하도록 등록되지 않았으므로 권한이 거부되었습니다. 소스 부분 에서 제거했을 때 효과가있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.