$HOME 디렉토리가 /home/
.
사용자 홈 페이지는 다른 사용자가 찾고 /pkg/home
소유 /pkg
하지만 모든 사용자는 에 대한 그룹 액세스 권한을 갖습니다 /pkg
. SSHD 는 사용자가 전체 경로의 소유자가 아니기 때문에 authorized_keys
(예: ) 에 대한 액세스를 제한하는 것 같습니다 ./pkg/home/usera/.sshd/authorized_keys
sshd_config
이 한도를 변경할 수 있는 옵션이 있나요 ?
답변1
전부 아니면 전무: 이 StrictModes
옵션을 끄면 sshd는 어떤 파일 모드도 확인하지 않습니다. 그룹 쓰기 가능 디렉터리(사용자가 그룹에 혼자 있는 경우 괜찮음)와 같은 일부 이상한 경우가 괜찮다고 말할 수 있는 방법은 없습니다.
~/.ssh/authorized_keys
OpenSSH는 포함된 디렉터리의 권한과 소유권을 반복적으로 확인합니다. 그러나 홈 디렉터리에 도달하면 비교가 중지됩니다. 예를 들어, 권한 부여 파일이 사용자의 홈 디렉토리인 기존 배열에서는 합계만 /home/joe/.ssh/authorized_keys
확인 됩니다 ./home/joe
/home/joe/.ssh/authorized_keys
/home/joe/.ssh
/home/joe
따라서 귀하의 시나리오는 매우 의심스럽더라도( /pkg
필요한 경우 다른 그룹 권한을 가지고 루트가 소유해야 함) SSH에 영향을 주어서는 안 됩니다.
심볼릭 링크가 포함된 경우 ssh는 검사를 시작하기 전에 모든 심볼릭 링크를 확장합니다.
시스템 로그에 관련 정보가 있을 수 있습니다. 실패한 로그인 시도로 인해 로그 메시지가 나타나는지 확인하십시오.
사용자 정의 포트( )에서 디버그 모드 데몬을 실행하여 sshd -d -p 2222
SSH 버전이 내 버전과 동일한 검사를 수행하는지 확인하세요(OpenSSH 5.5p1의 소스 코드를 살펴봤습니다) . strace -f -efile sshd -d -p 2222
서버가 권한을 확인하는 파일을 확인해야 하는 경우 사용합니다. 이러한 권한 확인이 문제가 되지 않으면 -d
플래그를 더 추가하는 것이 도움이 될 수 있습니다.
.ssh
AppArmor가 있는 경우 SSH 서버가 사용자 파일 디렉터리의 파일을 읽지 못하도록 제한할 수도 있습니다 . AppArmor 및 홈 디렉터리가 비표준 위치에 있는 경우 SSH뿐만 아니라 AppArmor 정책을 업데이트해야 합니다. 바라보다.Xauthority를 읽을 수 없기 때문에 Evince를 시작할 수 없습니다..
답변2
/pkg/의 소유자가 누구인지는 중요하지 않습니다. 소유하면 문제 등이 usera
발생합니다 . 따라서 SSHD가 파일을 userb
사용하지 못하도록 막는 다른 요인이 있어야 합니다 . authorized_keys
파일이 쓰기 가능한지 확인해야합니다오직소유자에 의해 그리고 해당 사용자가 소유한 경우. 모든 상위 디렉토리에도 동일하게 적용됩니다.
답변3
"/data"를 사용자 디렉토리의 기본 디렉토리로 사용하여 동일한 문제가 발생했습니다. 나에게는 "restorecon -R -v ~/.ssh"를 실행하는 것만으로는 충분하지 않았습니다. 우선 달려야지
# semanage fcontext -a -e /home /data
그런 다음 루트로(또한 루트로, /data 디렉터리에는 루트가 소유한 디렉터리가 포함되어 있으므로)
# restorecon -R -v /data
답변4
다른 답변 외에도 sshd 로그를 확인하고 폴더 및 파일에 대한 올바른 권한을 설정하십시오.
$ chown usera /pkg/home/usera
$ chmod go-w /pkg/home/usera
$ chmod 700 /pkg/home/usera/.ssh
$ chmod 600 /pkg/home/usera/.ssh/authorized_keys