홈 폴더가 하나인 비밀번호 없는 SSH에 대해 질문이 있습니다.
공통 /home/developers 계정과 여러 사용자(developerA,developerB ...)를 만들었습니다. 모든 개발자에게는 동일한 홈 폴더(/home/developers)가 위임되었습니다.
그의 컴퓨터에서 개발자 A로서 나는 다음을 수행했습니다.
- ssh-keygen -t rsa -f 개발자A -C[이메일 보호됨]
- (서버에서). .pub를 서버 /home/developers/.ssh/authorized_keys 파일에 추가했습니다.
- SSH 개발자A@myServer -i 개발자A
Authorized_keys 파일은 개발자 소유이기 때문에 문제가 권한과 관련이 있다고 생각합니다.
누구든지 이 문제에 대한 해결책을 가지고 있거나 각 사용자에 대한 홈 폴더를 만들지 않고 다중 사용자 암호 없는 SSH를 수행하는 방법을 알고 있습니까?
미리 감사드립니다.
답변1
사용자는 한 명뿐입니다. 따라서 다중 사용자 문제는 아닙니다. .ssh 디렉터리에 모드 700이 있는지 확인하세요.
그러나 어쨌든 당신은 잘못하고 있습니다. 각 개발자마다 다른 사용자를 생성하여 공통 그룹에 넣어야 합니다. 동일한 파일에 대해 작업해야 하는 경우 공통 그룹에서 해당 파일을 쓸 수 있도록 만들고 "그룹 ID 설정" 플래그가 설정된 디렉터리에 저장하면 무엇이든 해당 그룹에 속하게 됩니다.
답변2
그가 물었으니 그에게는 나름의 이유가 있을 것이다. 다음은 몇 가지 아이디어입니다.
- 공개 키 문자열이 래핑되지 않았는지 확인하세요. Authorized_keys에서 하나의 연속된 줄에 있어야 합니다.
- Authorized_keys에 대한 권한은 rw-rr(644)이어야 합니다.
- ~/.ssh에 대한 권한을 확인하세요. rwx--(700)이어야 합니다.
- 또한 /etc/ssh/sshd_config에 "PubkeyAuthentication yes"가 포함되어 있는지 확인하세요.
답변3
내 경험에 따르면 ssh는 파일 및 디렉터리 권한에 대해 매우 까다롭습니다. Authorized_keys 파일은 'rw-r--r--'여야 하며 이를 포함하는 .ssh 디렉터리도 모든 사람이 액세스할 수 있어야 합니다(그러나 전 세계에서 쓸 수는 없음). 이는 .ssh 디렉터리와 다음으로 이어지는 전체 디렉터리 경로를 의미합니다. 그것.
이를 올바르게 수행하지 못하면 키 교환 로그인이 실패합니다.
마이크
답변4
@joebob 맞습니다! 몇 가지 세부 사항만 더 자세히 설명합니다(그의 마지막 줄에 주목하세요).
에서이 게시물.ssh
SSH가 공유된 홈 디렉터리의 폴더 사용을 거부하는 것을 볼 수 있습니다 . 내 경우에는 다음을 보면 /var/log/messages
다음과 같습니다.
3월 10일 09:57:13 sshd[32249]: 인증이 거부되었습니다. /home/ 디렉터리에 대한 소유권 또는 모드가 잘못되었습니다.
참조 사이트에는 이에 대한 두 가지 솔루션이 있습니다.
권한 수정
chmod g-w /home/your_user chmod 700 /home/your_user/.ssh chmod 600 /home/your_user/.ssh/authorized_keys
(권장하지 않음
StrictModes off
)/etc/ssh/ssh_config
불행하게도 나는 생산 상자 ATM에 있어서 어떤 솔루션도 테스트할 수 없습니다...나는 또한 세 번째 옵션을 찾고 있습니다가능하다면 팀 설정으로 인해 홈 디렉터리 권한을 변경할 수 없습니다... (나쁜 모델 - 알아요)