SCP 사용 후 SSH 접속 불가? OpenSSH 버그가 원인!

by DD
3개월 전
조회수 8

SCP를 통해 파일 전송 후 SSH 접속이 거부되는 특이한 문제 발생

원인은 SCP가 대상 디렉토리의 권한을 전송된 파일과 동일하게 변경하는 버그 때문

홈 디렉토리 권한 변경으로 인해 SSH 접속이 차단된 것으로 확인

OpenSSH 개발팀의 빠른 대응으로 버그 수정 및 10.3 릴리스에 포함 예정

SCP를 사용한 파일 전송 과정에서의 문제점

SCP(Secure Copy)는 SSH 프로토콜을 기반으로 파일을 안전하게 전송하는 데 사용되지만, 대상 디렉토리의 권한 변경과 관련된 잠재적 위험을 내포한다. 특히, `-r` 옵션을 사용하여 디렉토리 전체를 전송하는 경우, SCP는 전송되는 파일 및 디렉토리의 권한을 로컬과 동일하게 변경한다. 이는 보안 설정에 영향을 미쳐, SSH 접속 거부와 같은 예상치 못한 결과를 초래할 수 있다.

OpenSSH의 버그와 권한 설정의 중요성

본 사례는 OpenSSH의 SCP 구현에서 발생한 버그로 인해 SSH 접속이 차단된 경우를 보여준다. OpenSSH는 홈 디렉토리의 권한이 과도하게 열려 있는 경우, 보안상의 이유로 SSH 키 로그인을 거부한다. 이는 보안 취약점(Security Vulnerability)을 방지하기 위한 조치이지만, SCP의 버그로 인해 의도치 않게 권한이 변경되어 문제가 발생할 수 있다. OpenSSH 개발팀은 해당 버그를 신속하게 수정했다.

rsync를 활용한 안전한 파일 동기화

커뮤니티에서는 SCP 대신 rsync를 사용하여 파일 동기화를 수행하는 것을 권장한다. rsync는 파일 전송 시 권한 및 속성을 세밀하게 제어할 수 있으며, 증분 전송(Incremental Transfer)을 지원하여 효율적인 파일 동기화를 가능하게 한다. 특히, rsync의 `-p` 옵션을 사용하면 파일 권한을 보존할 수 있어, SCP의 문제점을 우회할 수 있다. 하지만, rsync 역시 사용 시 주의가 필요하다.

OpenSSH 버그 수정 및 릴리스 정보

OpenSSH 개발팀은 SCP 관련 버그를 신속하게 수정하고, 다음 릴리스인 10.3 버전에 해당 수정 사항을 포함할 예정이다. 이는 오픈소스 프로젝트(Open Source Project)의 빠른 대응과 커뮤니티 기여의 중요성을 보여주는 사례이다. 사용자는 OpenSSH 10.3 이상 버전을 사용함으로써, SCP 사용 시 발생할 수 있는 권한 관련 문제를 예방할 수 있다.

Accidentally disabling SSH access via scp