scp : 권한 거부를 사용하여 파일 전송


23

사용하여 원격 컴퓨터 ssh에서 내 컴퓨터 로 파일을 전송하려고 합니다.

scp My_file.txt user_id@server:/Home

My_file.txt를 내 컴퓨터의 홈 폴더에 넣어야합니다. 나는 얻다

scp / Home : 권한이 거부되었습니다

또한 내가 시도 할 때 : ...@server:/Desktop원격 컴퓨터에서 데스크탑으로 파일을 복사하려면.

내가 무엇을 잘못하고 있지?


1
파일을 'user_id'의 홈 폴더로 scp My_file.txt user_id@server:복사하려면 사용하십시오. 사용자 홈 폴더로 복사합니다.
Manula Waidyanatha

답변:


36

명령이 새 문서를 컴퓨터의 루트 ( /)에 넣으려고 합니다. 쓰기 권한이 없으므로 디렉토리 로 전송하는 것 /입니다. 집으로 /home/erez가는 길이 다음과 같은 경우 :

scp My_file.txt user_id@server:/home/erez/

바로 가기로 홈 디렉토리 경로를 대체 할 수 ~/있으므로 다음과 같은 효과가 있습니다.

scp My_file.txt user_id@server:~/

당신은 멀리 떨어진 곳에 경로를 남겨 둘 수도 있습니다; 이것은 홈 디렉토리를 의미합니다.

scp My_file.txt user_id@server:

즉, 파일을 데스크탑에 복사하려면 다음 파일로 전송할 수 있습니다 /home/erez/Desktop/.

scp My_file.txt user_id@server:/home/erez/Desktop/

또는 바로 가기를 사용하십시오.

scp My_file.txt user_id@server:~/Desktop/

또는 원격 측의 상대 경로를 사용하면 홈 디렉토리와 관련하여 해석됩니다.

scp My_file.txt user_id@server:Desktop/

편집하다:

@ckhan이 이미 언급했듯이 인수도 바꿔야합니다.

scp FROM TO

따라서 My_file.txt서버 user_id@server에서 데스크탑으로 파일을 복사 하려면 다음을 시도하십시오.

scp user_id@server:/path/to/My_file.txt ~/Desktop/

파일 My_file.txt이 서버의 홈 디렉토리에 있으면 바로 가기를 다시 사용할 수 있습니다.

scp user_id@server:~/My_file.txt ~/Desktop/

- '홈'에 대해 "~ /"및 "~ / Desktop /"을 시도했습니다. 둘 다 결과 : My_file.txt 100 % 0 0.0 KB / s 00:00에 파일이 보이지 않습니다. 폴더 아직도 문제가 무엇입니까? 고마워요!
Erez

두 번째 명령 예에서는 예를 들어 ~원격 호스트에서 평가되도록 평가에서 보호해야합니다 \~.
dan

1
감사하기 위해 나는 웹 사이트에 등록했다. 내 하루를 저장해 주셔서 감사합니다 :)
Ad Infinitum

6

같은 오류가 발생하여 "scp : permission denied"를 사용하여 파일을 전송했습니다.

필자의 경우 scp로 다운로드 한 파일이 루트 소유의 파일을 덮어 썼을 때 루트가 아닙니다. 즉, 덮어 쓰는 파일의 소유권을 확인하십시오.


1
이 경우에 그는 /Home루트가 아닌 쓰기를 시도하기 때문에 외부에서 쓰기 액세스 권한이 없습니다~/
Shadur

당신은 나를 도와줍니다.
longdeqidao

4

이것은 허가 문제처럼 보인다

파일이 원본 계정으로 대상 서버에 전달 될 때 파일에 읽기 권한이 없을 수 있습니다.

소스의 파일에 필요한 권한, 특히 읽기 권한이 있는지 확인해야합니다.

-rw-r--r--

chmod 744

그런 다음 파일을 대상으로 scp하십시오. 이것은 해결 될 것입니다


3
-rw-r--r--실제로 실행할 수없는 파일에 대해 실행 권한을 설정하면 문제가 발생할 수 있습니다.
G-Man, 'Reinstate

3

(가) 날이었다 위해, 원격 서버에 루트 폴더 소유권 변경 "권한이 거부"고정 무엇 : (! 루트가 아닌 사용자에게 파일을 보낼 때이 일어날 수 있으며, 디렉토리가 루트가 소유된다) 에 원격 컴퓨터 (복사 대상) :

sudo chown (your username) (remote folder)

또한 원격 폴더에 대한 모든 권한을 활성화하십시오. (항상 필요한 것은 아님) :

sudo chmod 777 (remote folder)

1

scp반대 의 주장이 있습니다. 먼저 소스이고 다음과 같이 목적지 cp입니다. man scp상세 사항은.


1

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

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

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

이것은 또한 작동합니다 :

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

0

www.mremoteng.org/에서 Windows 도구 "mRemoteG"를 설치하십시오.

원하는 상자에 SSH 연결을 작성하십시오.

"파일 전송"메뉴를 클릭하십시오.

Windows에서 Linux로 파일을 쉽게 전송할 수 있습니다.

감사.


0

아마존 리눅스 AMI

현재의 경우 에서 절대 서버 경로를 설정해야합니다 .

scp file.txt SSH-ALIAS:/home/YOUR_USER/

0

scp의 양쪽에 동일한 권한이 적용됩니다. 사용자에게 대상에 대한 쓰기 권한이없는 경우이 오류가 발생합니다. 증상은 소스와 관련이있는 것으로 보이지만 필자의 경우 대상은 루트에 의해 작성되었으며 의도 한 사용자 계정에 대한 쓰기 권한이 없습니다.


0

필자의 경우 -R을 사용하여 모든 권한을 폴더에 부여하려고 시도했지만 여전히 권한에 대한 오류가 발생했습니다.

대상 서버 및 폴더의 경로 앞에 "/"를 제거해야했습니다. 그 이유는 Downloads가 서버에 ssh 한 후 나열 할 수있는 첫 번째 폴더이기 때문입니다. 예를 들면 다음과 같습니다. ssh tiennsloit@13.76.91.2

이것은 작동합니다 :

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@13.76.91.2 : 다운로드

이것은 작동하지 않았습니다.

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@13.76.91.2 : / 다운로드


0

쉬운 수정. 당신이 루트인지 확인하십시오. SCP를 원격으로 가져 가면 해당 컴퓨터의 루트 암호를 묻습니다. 이 문제가 해결책이었습니다. 당신은 그들에게 뿌리를 내립니다.


루트 로그인은 일반적으로 sshd_config 에서 비활성화 되므로 OP를 변경하는 방법을 보여 주어야합니다 (권장하지는 않지만).
ajgringo619

왜 루트를 사용하여 (모든) 파일을 복사해야합니까? ~ 7 년 전에 수락 된 답변에 주목하십시오.
Jeff Schaller

-3

scp 명령을 사용하기 전에 외부의 모든 사람에게 읽기, 쓰기 및 실행 권한을 부여하십시오. "chmod 777 file_name"


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