더북(TheBook)

3.5 SCP로 안전하게 파일 복사하기

파일 시스템 안의 한 곳에서 다른 곳으로 파일과 디렉터리를 복사할 때 cp 명령을 사용했다. 그런데 이론상으로는 이 방법을 파일과 디렉터리를 네트워크를 통해 다른 곳에 복사할 때 사용하지 못할 이유가 없다. 하지만 이렇게 하는 것은 완전히 정신 나간 짓이다. 이는 복사할 때 네트워크에 연결된 사람들과 나중에 네트워크 로그 데이터를 검색하는 사람들에게 파일 내용이 노출되기 때문이다.

cp 명령 앞에 보안(secure)를 지원하는 s를 붙이기 전에는 그런 생각을 하지 않아야 한다. SCP 프로그램은 파일 전송을 위해 SSH 프로토콜을 사용해 어떤 파일이라도 동일한 키와 패스워드, 패스프레이즈로 여기저기에 복사할 수 있다. 원격 호스트에 .ssh 디렉터리가 있다는 것을 알고 있다면 다음 명령으로 공개 키(id_rsa.pub)를 authorized_keys라는 다른 이름으로 바꿔 원격 호스트에 복사할 수 있다.

ubuntu@base:~$ scp .ssh/id_rsa.pub ubuntu@10.0.3.142:/home/ubuntu/.ssh/authorized_keys

Warning

해당 디렉터리에 authorized_keys 파일이 이미 있으면 이 명령은 기존 파일의 내용을 모두 지우고 덮어쓴다. 그런데 파일을 복사하거나 저장하려면 여러분이 사용하는 계정에 적절한 권한이 있어야 한다. 따라서 사용하는 계정에 루트 권한이 없으면 etc 디렉터리 등에 파일을 복사하거나 저장하면 안 된다. 물론 SSH 세션에서 루트 사용자로 로그인하는 것은 일반적으로 보안상 피해야 할 위험한 행동이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.