일부 신뢰할 수 있는 사용자가 scp 파일을 내 서버(특정 사용자에게)로 허용하고 싶지만 이러한 사용자에게 집이나 SSH 로그인을 제공하고 싶지 않습니다.
이를 허용하기 위해 생성해야 하는 사용자/그룹의 올바른 설정을 이해하는 데 문제가 있습니다.
예를 들어 보겠습니다.
가지고 있는 것:
MyUser@MyServer
MyUser
그룹에 속해있습니다MyGroup
- MyUser의 집은 다음과 같습니다.
/home/MyUser
SFTPGuy1@OtherBox1
SFTPGuy2@OtherBox2
그들은 나에게 id_dsa.pub
'을(를) 주고 나는 그것을 내 목록에 추가합니다.authorized_keys
그렇다면 내 서버에서 다음과 같은 작업을 수행할 것입니다.
useradd -d /home/MyUser -s /bin/false SFTPGuy1
(다른쪽도 마찬가지..)
그리고 마지막으로, useradd -G MyGroup SFTPGuy1
(그리고 다시, 다른 남자를 위해)
sftp -o IdentityFile=id_dsa MyServer
그러면 SFTPGuys가 MyUser의 집으로 데려갈 수 있을 것으로 기대합니다 ...
글쎄요, 그렇지 않습니다... SFTP가 계속해서 비밀번호를 묻는군요.
누군가 내가 무엇을 놓치고 있는지 지적해 줄 수 있나요?
고마워요,
에프.
[편집하다:메사StackOverflow에서 Authorized_keys 파일을 다른 사용자(MyGroup 구성원)가 읽을 수 있는지 물었습니다. 흥미로운 점은 이것이 내 대답이었습니다.
글쎄, 그렇지 않았지만 (700이었습니다) .ssh 디렉토리와 인증 파일의 권한을 750으로 변경했지만 여전히 효과가 없습니다. 내 홈 디렉토리( /home/MyUser
)도 그룹에서 읽을 수 있다는 점을 언급할 가치가 있을 것 같습니다 . 대부분의 디렉토리는 750이고 파일을 놓을 특정 폴더는 770입니다.
그럼에도 불구하고 auth 파일에 대해서는 의 로컬 사용자가 인증을 수행할 것이라고 생각합니다 MyServer
. 그렇지 않습니까? 그렇다면 다른 사용자가 읽어야 할 필요성을 이해하지 못합니다. 음.. 그냥 궁금합니다. ]
답변1
이 내용을 시도하기 전에 맨 아래까지 읽어 보십시오.
2명의 사용자를 생성하여 동일한 그룹에 배치하고 동일한 홈 디렉터리를 제공함으로써 원하는 작업을 수행할 수 있습니다. 그런 다음 키가 있는 공유 홈에 ~/.ssh/authorized_keys 파일을 만듭니다.
계정에는 쉘이 있어야 하므로 이를 사용하여 잠그면 usermod -L LOGIN
대화형 로그인이 방지됩니다.
~/.ssh 디렉터리에 대한 권한은 g:rx여야 하고 ~/.ssh/authorized_keys는 g:r--이어야 합니다.
chmod g+rx ~/.ssh
chmod g+r ~/.ssh/authorized_keys
그러면 디렉터리가 최대 g:r--이고 파일이 g:---일 것으로 예상하므로 sshd에 문제가 발생합니다. 오류 메시지가 표시됩니다.
Authentication refused: bad ownership or modes for file /home/test/.ssh/authorized_keys
이 계획을 실행하려면 이제 다음을 수행해야 합니다.sshd의 내장 검사를 깨뜨립니다.기본값에서 편집
/etc/sshd_config
하고 설정하여 . 변경 사항을 알리려면 sshd를 다시 시작하십시오.StrictModes no
StrictModes yes
원하는 대로 작동해야 합니다. 불행하게도 sshd에서 안전 장치를 제거했으며 나중에 시스템을 활짝 열어두는 변경 작업을 수행할 수 있습니다.
이를 더욱 안전하게 수행하려면 위의 변경 사항을 적용하지 마세요.
동일한 그룹에 2개의 사용자 계정을 만들고 ~/.ssh/authorised_keys를 설정합니다. 각 홈 디렉터리에서 물건을 넣을 위치로 연결되는 링크를 만듭니다.
ln -s -n /path/to/stuff content
사용자가 홈 디렉토리에 쓰지 못하도록 홈 디렉토리에 대한 권한을 잠급니다.
계정이 대화형으로 로그인하는 것을 중지하세요.
usermod -L LOGIN
그룹 액세스를 허용하려면 /path/to/stuff에 대한 권한을 변경하세요.
답변2
파일 보관용 계정 역할을 하는 사용자 ID에 대한 액세스를 제공하려는 것 같습니다. 인증된 키 파일에서 사용자가 수행할 수 있는 작업을 제한할 수 있습니다.
서버의 이 사용자 ID에만 연결하기를 원하므로 올바른 사용자 ID에 직접 매핑하는 .ssh/config 파일을 제공할 수 있습니다.
답변3
이 질문에 대한 답변 -SFTP를 통한 업로드만 허용하는 사용자 계정을 어떻게 만들 수 있나요?-라는 패키지를 추천합니다.신중하게- 한번도 사용해본 적이 없지만 원하는 대로 될 수도 있을 것 같습니다.
답변4
로그 파일을 검사하면 도움이 될 수 있습니다. "실패" 로그인 후 다음을 입력하십시오.
tail -n 50 /var/log/secure
그리고 출력을 게시