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.