![두 원격 컴퓨터 간에 scp 명령을 사용할 때 권한 거부 오류](https://linux55.com/image/161967/%EB%91%90%20%EC%9B%90%EA%B2%A9%20%EC%BB%B4%ED%93%A8%ED%84%B0%20%EA%B0%84%EC%97%90%20scp%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%EA%B6%8C%ED%95%9C%20%EA%B1%B0%EB%B6%80%20%EC%98%A4%EB%A5%98.png)
로컬 네트워크에 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에서 루트 로그인을 비활성화합니다.