비밀번호가 없는 SSH(공유 홈 폴더)

비밀번호가 없는 SSH(공유 홈 폴더)

홈 폴더가 하나인 비밀번호 없는 SSH에 대해 질문이 있습니다.

공통 /home/developers 계정과 여러 사용자(developerA,developerB ...)를 만들었습니다. 모든 개발자에게는 동일한 홈 폴더(/home/developers)가 위임되었습니다.

그의 컴퓨터에서 개발자 A로서 나는 다음을 수행했습니다.

  1. ssh-keygen -t rsa -f 개발자A -C[이메일 보호됨]
  2. (서버에서). .pub를 서버 /home/developers/.ssh/authorized_keys 파일에 추가했습니다.
  3. SSH 개발자A@myServer -i 개발자A

Authorized_keys 파일은 개발자 소유이기 때문에 문제가 권한과 관련이 있다고 생각합니다.

누구든지 이 문제에 대한 해결책을 가지고 있거나 각 사용자에 대한 홈 폴더를 만들지 않고 다중 사용자 암호 없는 SSH를 수행하는 방법을 알고 있습니까?

미리 감사드립니다.

답변1

사용자는 한 명뿐입니다. 따라서 다중 사용자 문제는 아닙니다. .ssh 디렉터리에 모드 700이 있는지 확인하세요.

그러나 어쨌든 당신은 잘못하고 있습니다. 각 개발자마다 다른 사용자를 생성하여 공통 그룹에 넣어야 합니다. 동일한 파일에 대해 작업해야 하는 경우 공통 그룹에서 해당 파일을 쓸 수 있도록 만들고 "그룹 ID 설정" 플래그가 설정된 디렉터리에 저장하면 무엇이든 해당 그룹에 속하게 됩니다.

답변2

그가 물었으니 그에게는 나름의 이유가 있을 것이다. 다음은 몇 가지 아이디어입니다.

  1. 공개 키 문자열이 래핑되지 않았는지 확인하세요. Authorized_keys에서 하나의 연속된 줄에 있어야 합니다.
  2. Authorized_keys에 대한 권한은 rw-rr(644)이어야 합니다.
  3. ~/.ssh에 대한 권한을 확인하세요. rwx--(700)이어야 합니다.
  4. 또한 /etc/ssh/sshd_config에 "PubkeyAuthentication yes"가 포함되어 있는지 확인하세요.

답변3

내 경험에 따르면 ssh는 파일 및 디렉터리 권한에 대해 매우 까다롭습니다. Authorized_keys 파일은 'rw-r--r--'여야 하며 이를 포함하는 .ssh 디렉터리도 모든 사람이 액세스할 수 있어야 합니다(그러나 전 세계에서 쓸 수는 없음). 이는 .ssh 디렉터리와 다음으로 이어지는 전체 디렉터리 경로를 의미합니다. 그것.

이를 올바르게 수행하지 못하면 키 교환 로그인이 실패합니다.

마이크

답변4

@joebob 맞습니다! 몇 가지 세부 사항만 더 자세히 설명합니다(그의 마지막 줄에 주목하세요).

에서이 게시물.sshSSH가 공유된 홈 디렉터리의 폴더 사용을 거부하는 것을 볼 수 있습니다 . 내 경우에는 다음을 보면 /var/log/messages다음과 같습니다.

3월 10일 09:57:13 sshd[32249]: 인증이 거부되었습니다. /home/ 디렉터리에 대한 소유권 또는 모드가 잘못되었습니다.

참조 사이트에는 이에 대한 두 가지 솔루션이 있습니다.

  1. 권한 수정

    chmod g-w /home/your_user
    chmod 700 /home/your_user/.ssh
    chmod 600 /home/your_user/.ssh/authorized_keys
    
  2. (권장하지 않음 StrictModes off)/etc/ssh/ssh_config

불행하게도 나는 생산 상자 ATM에 있어서 어떤 솔루션도 테스트할 수 없습니다...나는 또한 세 번째 옵션을 찾고 있습니다가능하다면 팀 설정으로 인해 홈 디렉터리 권한을 변경할 수 없습니다... (나쁜 모델 - 알아요)

관련 정보