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

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

scp My_file.txt user_id@server:/Home

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

scp / Home : 권한 거부 됨

또한 시도 할 때 : ...@server:/Desktop, 원격 컴퓨터에서 내 데스크톱으로 파일을 복사합니다.

내가 뭘 잘못하고 있니?

설명

  • 파일을 ' user_id

사용 scp My_file.txt user_id@server: 사용자 홈 폴더에 복사합니다.

답변

명령이 새 문서를 루트 (/). 원하는 작업은 home 디렉터리로 전송하는 것입니다 (/). 집 경로가 /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/ 

Edit :

As @ 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/ 

댓글

  • -' 시도했습니다 : " ~ / ' Home ' 및 " ~ / 데스크톱 /. 둘 다 결과 : My_file.txt 100 % 0 0.0 KB / s 00:00, 내 폴더에서 파일을 볼 수 없습니다. 아직도 내가 뭘 잘못하고 있니? 감사합니다!
  • 두 번째 명령 예제에서 ~는 원격 호스트에서 평가되도록 평가로부터 보호되어야합니다.
  • 감사하기 위해 웹 사이트에 등록했습니다. 하루를 저장 해주셔서 감사합니다 🙂

답변

“scp를 사용하여 파일 전송 : 권한이 거부되었습니다. “같은 오류가 발생했기 때문입니다.

제 경우에는 scp로 다운로드 한 파일이 루트가 소유 한 파일을 덮어 썼을 것이고 저는 루트가 아닙니다. 간단히 말해서 파일의 소유권을 확인하십시오. 덮어 씁니다.

댓글

  • 이 경우 '는 '가 루트가 아닌 /Home에 쓰기를 시도하고 있지만 ' ~/
  • 도와주세요.

답변

“권한 거부”를 수정 한 것은 원격 서버에서 폴더 소유권을 루트로 변경하는 것입니다. (이는 루트가 아닌 사용자에게 파일을 보낼 때 발생할 수 있으며 디렉토리는 루트가 소유합니다! ) 원격 머신 (복사 대상) :

sudo chown (your username) (remote folder) 

또한 원격 폴더에 대한 모든 권한을 활성화하십시오. (항상 필요하지는 않음) :

sudo chmod 777 (remote folder) 

답변

허용 문제인 것 같습니다.

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

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

-rw-r–r-

chmod 744

그런 다음 파일을 대상으로 scp하십시오. 이 문제는 해결 될 예정입니다.

댓글

  • -rw-r--r--는 744가 아니라 644입니다. 실제로 실행되지 않는 파일은 문제를 일으킬 수 있습니다.

답변

scp 반전 됨.소스가 먼저이고 목적지가 cp입니다. 자세한 내용은 man scp입니다.

답변

Jinzai가 지적했듯이 원격 폴더는 루트가 소유 할 수 있습니다. 제 경우에는 누군가 (또는 무언가) 사용자의 홈 폴더 소유자를 변경했습니다. 뿌리. 그래서 원격 서버로 파일을 보내려고 할 때 권한 거부 오류가 발생했습니다.

ls -l 명령으로 폴더 소유자를 확인할 수 있습니다. :

drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2

위의 예에서 user2 폴더는 루트가 소유합니다. 다음과 같이 소유자를 변경할 수 있습니다.

chown user2:user2 user2

서버가 다음 방법으로 파일을 차단하고 있는지 확인하는 더 빠른 방법도 있습니다. scp 여부. 예를 들어 touch test_file를 사용하여 대상 폴더에 파일을 만들어보십시오. 폴더에 파일을 만들 수없는 경우 동일한 사용자가 여기에서 원격으로 파일을 보낼 수 없습니다.

Answer

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

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

이것은 서버의 홈 디렉토리에 복사됩니다.

이 방법도 작동합니다. :

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

답변

Amazon Linux AMI

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

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

Answer

www.mremoteng.org/에서 Windows 도구”mRemoteG “설치

원하는 상자에 대한 SSH 연결을 만듭니다.

“파일 전송”메뉴를 클릭합니다.

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

감사합니다.

답변

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

Answer

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

대상 서버와 폴더의 경로 앞의 “/”를 제거해야했습니다. 그 이유는 Downloads가 서버에 ssh 한 후 나열 할 수있는 첫 번째 폴더이기 때문입니다. 예 : ssh [email protected]

작동합니다 :

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip [email protected] : Downloads

작동하지 않음 :

sudo scp -rp /Users/macintosh.vn/Downloads /bbhs_20190301.zip [email protected] : / 다운로드

답변

쉬운 수정. 당신이 루트인지 확인하십시오. 원격으로 SCP를 수행하면 해당 컴퓨터의 루트 암호를 묻는 메시지가 표시됩니다. 이 문제가 해결책이었습니다. 루트를 루팅합니다.

댓글

  • 루트 로그인은 일반적으로 sshd_config 에서 비활성화되므로 OP에 방법을 표시해야합니다. 이를 변경하려면 (권장하지 않지만 ')
  • 루트를 사용하여 (모든) 파일을 복사해야하는 이유는 무엇입니까? ~ 7 년 전 승인 된 답변도 확인하세요 …

Answer

scp 명령을 사용하기 전에 외부의 모든 사람에게 읽기, 쓰기 및 실행 권한을 부여해야합니다. “chmod 777 file_name”

댓글

  • 777이 아닌 파일을 복사 할 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다