authorized_keys의 중심 위치가 좋은 생각입니까? 이동하는 솔루션을 발견 AuthorizedKeysFile했습니다 /etc/ssh/sshd_config. 여기에는 두

다음 스택을 실행하도록 클라우드 서버를 구성하는 중입니다. Ruby, Passenger, Apache; 우분투 10.04 (루시 Lynx)에서.

에 내가 설정 RSA 키를 관리 할 서버를 쉽게하고자하는 과정에서 root, 그리고 www-data내가 할 수있는 ssh서버에. 내가 좋아하지 않는 것은 그 있었다 www-data.ssh디렉토리에 앉아 /var/www있는 아파치의 기본 디렉토리 설정입니다. 아파치가 제대로 구성되지 않으면 .ssh디렉토리가 노출 될 수 있습니다.

에서 ~/.ssh/authorized_keys를 변경 하여 파일을 중앙 위치로 이동하는 솔루션을 발견 AuthorizedKeysFile했습니다 /etc/ssh/sshd_config. 여기에는 두 가지 전문가가 있습니다. 키를위한 단일 위치이며 잘못된 아파치 구성에 대해 걱정할 필요가 없습니다. 내가 생각할 수있는 단 하나의 단점은 이제 모든 사용자가 서버에서 로그인 할 수 있다는 것입니다 (중앙 키 파일의 이중 칼).

이 구성에서 놓친 것이 있습니까? 과도하게 노출 authorized_keys되었습니까? 아니면 개별 파일 보다 더 나은 솔루션 입니까?

녹색 은 서버 관리에 올 때,하지만 나쁜 일을 나쁜 이름을 호출 할 수 완전히 준비가되어있다. :디



답변

모든 키 파일을 동일한 디렉토리에서 중앙 집중화 할 수 있으며 동일한 파일에서 혼합 할 수 없습니다.

다음 sshd_config과 같이 파일을 설정 하십시오.

AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

서버에서 :

  • www-data 키는 /etc/ssh/authorized_keys/www-data
  • 루트 키는 /etc/ssh/authorized_keys/root

액세스 권한과 관련하여 다음 설정은 sshd에서 승인합니다.

/etc/ssh/authorized_keys가 소유 root:root및 755 키 파일을 소유하는 모드가 있습니다 root:root및 모드 (644)이있다.

다른 모드는 작동하지만 테스트하지는 않았습니다.


답변

일반적으로 나는 당신이 제안하는 것을하지 않을 것입니다. ~/.ssh/authorized_keys사용자를 위해 일하는 것과 같은 일반적인 가정 을 어 기고 이미 질문에서 언급 한 문제를 소개합니다. 구현하기 전에 눈부신 문제가 발생하면 솔루션이 이상적이지 않다는 것을 의미합니다.

보안 측면에서 나는 모든 사람이 서비스 계정을 공유하게하는 것이 끔찍한 생각 이라고 생각 합니다. 지금 당장은 여러분뿐입니다. 5 년 동안 관리자가 5 명인 경우 누가 무엇을 변경했는지 알고 감사 로그를 통해 누가 어떤 키를 사용했는지 알기 원할 것입니다.
사람들이 자신으로 로그인하여 sudo자신의 권한을 에스컬레이션하고 필요한 모든 것을 수행하는 데 사용하는 것이 좋습니다.


여전히 SSH 키를 중앙 집중화하려면 Puppet 또는 radmind 와 같은 배포 시스템을 조사 하여 authorized_keys파일을 적절한 ~user/.ssh/디렉토리 에 관리 / 배포 하거나 가정에서 자체 개발 한 솔루션을 해킹하는 것이 좋습니다.
여러 서버로 확장 할 때 이전 버전의 OpenSSH (또는 최신 버전의 OpenSSH 의 지시문 및 해당 스크립트)에 대한 LDAP 공개 키 패치 를 확인 하여 사용자를 중앙 집중화 할 수 있으며 배포 할 필요가 없습니다. 네트워크 전체에서 키를 사용할 수 있지만 실제로는 훨씬 나아질 것입니다.AuthorizedKeysCommand