웹사이트 검색

Linux에서 올바른 SSH 디렉터리 권한을 설정하는 방법


SSH가 제대로 작동하려면 ~/.ssh 또는 /home/username/.ssh 디렉터리(모든 사용자별 SSH 구성의 기본 위치)에 대한 올바른 권한이 필요합니다. 및 인증 파일. 권장 권한은 사용자에 대한 읽기/쓰기/실행이며, 그룹이나 다른 사람이 접근할 수 없어야 합니다.

게다가 ssh에서는 디렉터리 내의 파일에 대해 사용자에 대한 읽기/쓰기 권한이 있어야 하며 다른 사람이 액세스할 수 없도록 요구합니다. 그렇지 않으면 사용자에게 다음 오류가 발생할 수 있습니다.

Authentication refused: bad ownership or modes for directory

이 가이드에서는 Linux 시스템에서 .ssh 디렉터리와 여기에 저장된 파일에 올바른 권한을 설정하는 방법을 설명합니다.

Linux에서 올바른 SSH 디렉터리 권한 설정

위의 오류가 발생하는 경우 chmod 명령을 사용하여 .ssh 디렉토리에 올바른 SSH 디렉토리 권한을 설정할 수 있습니다.

chmod u+rwx,go-rwx ~/.ssh
OR
chmod  0700 ~/.ssh

~/.ssh 디렉토리에 대한 권한을 확인하려면 다음과 같이 -l-d 플래그와 함께 ls 명령을 사용하십시오.

ls -ld .ssh/

다음은 ~/.ssh 디렉터리에서 찾을 수 있는 파일 중 일부입니다.

  • 개인 키 파일(예: id_rsa) – 매우 민감한 정보가 포함된 인증용 개인 키이므로 소유자에 대한 읽기 및 쓰기 권한이 있어야 하며 액세스할 수 없어야 합니다. 그렇지 않으면 ssh가 연결을 거부합니다.
  • 공개 키(예: .pub 파일) – 인증을 위한 공개 키. 민감한 정보도 포함되어 있으므로 소유자에 대한 읽기 및 쓰기 권한, 읽기 전용 권한이 있어야 합니다. 그룹별, 기타별로.
  • authorized_keys – 이 사용자로 로그인하는 데 사용할 수 있는 공개 키 목록이 포함되어 있습니다. 매우 민감하지는 않지만 소유자에 대한 읽기 및 쓰기 권한이 있어야 하며 그룹 및 다른 사람이 액세스할 수 없어야 합니다.
  • known_hosts – SSH 사용자가 로그인한 모든 호스트에 대한 호스트 키 목록을 저장합니다. 소유자에 대한 읽기 및 쓰기 권한이 있어야 하며 그룹 및 다른 사람이 액세스할 수 없어야 합니다.
  • config – 사용자별 구성 파일이며 소유자에 대한 읽기 및 쓰기 권한이 있어야 하며 그룹 및 다른 사람이 액세스할 수 없어야 합니다.

기본적으로 ~/.ssh 디렉터리 아래의 파일은 올바른 권한 집합으로 생성됩니다. 권한을 확인하려면 홈 디렉터리에서 다음 명령을 실행하세요.

ls -l .ssh/ 

ssh가 위 파일 중 하나에 대해 잘못된 권한을 불평하는 경우 다음과 같이 모든 파일에 대해 올바른 권한을 설정할 수 있습니다.

chmod u+rw,go-rwx .ssh/id_rsa
chmod u+rw,go-rwx .ssh/id_rsa.pub
chmod u+rw,go-rwx .ssh/authorized_keys
chmod u+rw,go-rwx .ssh/known_hosts
chmod u+rw,go-rwx .ssh/config
OR
chmod 600 .ssh/id_rsa
chmod 600 .ssh/id_rsa.pub
chmod 600 .ssh/authorized_keys
chmod 600 .ssh/known_hosts
chmod 600 .ssh/config

또한 다음 스크린샷에 표시된 것처럼 사용자의 홈 디렉터리는 그룹이나 다른 사람이 쓸 수 없어야 합니다.

ls -ld ~

홈 디렉터리에서 그룹 및 다른 사용자에 대한 쓰기 권한을 제거하려면 다음 명령을 실행합니다.

chmod go-w ~
OR
chmod 755 ~

다음 SSH 관련 기사를 읽어볼 수도 있습니다.

  • OpenSSH 서버를 보호하고 강화하는 방법
  • 5가지 최고의 OpenSSH 서버 모범 보안 사례
  • Linux에서 SSH 비밀번호 없는 로그인을 설정하는 방법 [쉬운 3단계]
  • SSHGUARD를 사용하여 SSH 무차별 대입 공격을 차단하는 방법
  • Linux에서 SSH 서비스를 보호하기 위해 포트 노킹을 사용하는 방법
  • Linux에서 SSH 포트를 변경하는 방법

지금은 그게 다야! 아래 댓글 섹션을 사용하여 이 주제에 대한 질문을 하거나 생각을 추가하세요.