두 원격 컴퓨터 간에 scp 명령을 사용할 때 권한 거부 오류

두 원격 컴퓨터 간에 scp 명령을 사용할 때 권한 거부 오류

로컬 네트워크에 3대의 컴퓨터가 있습니다. 이것들은 모두

Machine1 : 192.168.1.1 (root user: user1)
Machine2 : 192.168.1.2 (root user: user2) 
Machine3 : 192.168.1.3 (root user: user3)

저는 Machine1에서 일하고 있습니다. 다른 머신(2와 3)은 내 원격 머신입니다. Machine1의 ssh 명령을 사용하여 원격 시스템에 액세스합니다. 네트워크 SSH 연결 외에는 Machine2 및 Machine3에 직접 액세스할 수 없습니다.

Machine2의 /usr/local/lib 경로에 있는 일부 파일을 Machine3의 /usr/local/lib 경로로 복사하고 싶습니다.

이렇게 하려면 호스트 Machine1에서 다음 명령을 사용합니다.

scp [email protected]:/usr/local/lib/my_file [email protected]:/usr/local/lib/my_file

오류가 발생합니다.

권한이 거부되었습니다. 다시 시도해 주세요.

권한이 거부되었습니다. 다시 시도해 주세요.

권한이 거부되었습니다(공개 키, 비밀번호).

이 오류가 발생한 후 다른 방법을 사용했습니다. 내 호스트 Machine1에서 SSH 연결을 통해 Machine2에 연결합니다. SSH에서 Machine2에 연결하려면 다음 명령을 사용했습니다.

scp /usr/local/lib/my_file [email protected]:/usr/local/lib/my_file

오류가 발생합니다.

scp:/usr/local/lib/my_file: 권한이 거부되었습니다.

SSH를 통해 연결된 Machine3에서 다음 명령을 사용했습니다.

scp [email protected]:/usr/local/lib/my_file /usr/local/lib/my_file

같은 오류가 발생했습니다.

scp:/usr/local/lib/my_file: 권한이 거부되었습니다.

/usr/local/lib 경로에 있는 일부 파일을 복사하는 3가지 다른 방법을 시도했습니다. 하지만 복제를 달성할 수 없습니다.
두 원격 컴퓨터 간에 /usr 디렉터리에 있는 파일을 어떻게 복사합니까?

답변1

오류가 발생하는 이유는 일반 사용자가 복사하려는 파일을 읽고, 쓰고, 실행할 수 있는 올바른 권한이 설정되어 있지 않기 때문이라고 생각합니다.

/root/FileByRoot 및 /home/admin/FileByAdmin이라는 두 개의 파일을 만들었습니다.

$ ll /root/FileByRoot
-rw-r--r-- 1 root root 13 Oct 10 00:43 /root/FileByRoot

$ ll /home/admin/FileByAdmin
-rw-rw-r-- 1 admin admin 19 Oct 10 00:43 /home/admin/FileByAdmin

이제 이것이 관리자 사용자를 사용하여 다른 컴퓨터에 복사하려고 할 때 나타나는 결과입니다.

$ scp -P 2220 [email protected]:/root/FileByRoot /home/heysus/
[email protected]'s password:
scp: /root/FileByRoot: Permission denied

$ scp -P 2220 [email protected]:/home/admin/FileByAdmin /home/heysus/
[email protected]'s password:
FileByAdmin                                                                           100%   19     0.5KB/s   00:00

$ ll /home/heysus/FileByAdmin
-rw-rw-r-- 1 heysus heysus 19 Oct 10 00:56 /home/heysus/FileByAdmin

이제 관리자가 모든 권한을 갖는 디렉터리로 파일을 이동해 보겠습니다.

$ mv FileByRoot /home/admin/FileByRoot

관리자에게 폴더에 대한 권한이 있으므로 이제 복사할 수 있습니다.

$ scp -P 2220 [email protected]:/home/admin/FileByRoot /home/heysus/
[email protected]'s password:
FileByRoot                                                                            
100%   13     0.3KB/s   00:00

요약하면 /etc/ssh/sshd_config 파일에서 루트 사용자를 활성화하고 루트 사용자를 통해 필요한 파일을 복사합니다. 완료되면 /etc/ssh/sshd_config에서 루트 로그인을 비활성화합니다.

관련 정보