![특정 사용자만 SSH를 사용하도록 허용하는 방법은 무엇입니까?](https://linux55.com/image/100064/%ED%8A%B9%EC%A0%95%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A7%8C%20SSH%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8F%84%EB%A1%9D%20%ED%97%88%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
모든 사람이 SSH 연결을 갖고 있는 시스템에서
AllowUsers $USER
/etc/ssh/sshd_config를 사용해도 안전합니까 ?
모든 사람이 SSH 액세스 권한을 갖기를 원하지만 시스템 계정에는 SSH 액세스 권한이 있는 것을 원하지 않습니다. 또한 사용자를 프로필에 영구적으로 추가하지 않고도 설정하고 싶습니다. 사용할 수 있는 변수가 있나요? 사용자 이름 == 사용자 홈페이지라고 가정하면 AllowUsers가 ls /home/
작동할 수도 있습니다. 이 일을 해야 할지 모르겠습니다.
답변1
그 반대를 수행하십시오. 목록에 있는 사용자가 로그인하는 것을 방지하려면 sshd_config에서 DenyUsers를 사용하세요.
로그인 기능을 거부하려는 사용자 목록은 일반적으로 수퍼유저와 쉘로 /bin/nologin을 사용하는 모든 사용자입니다. 또한 /etc/passwd 파일을 확인하고 패키지의 일부로 설치된 사용자를 식별하십시오. CentOS 7에서 이러한 사용자의 uid는 일반적으로 1000 미만입니다.
이것이 CentOS 7에 있는 것입니다:
DenyUsers 루트 bin 데몬 adm lp 동기화 종료 메일 운영자 게임 중지 ftp none dbus polkitd tss colord usbmuxd rpc rtkit qemu radvd ntp chrony abrt avahi-autoipd unbound rpcuser nfsnobody libstoragemgmt saslauth pulsegdm gnome-initial-setup avahi pcp postfix sshd oprofile tcpdump lightdm pn 나노- 오픈커넥트
"denyusers.awk"라는 awk 스크립트를 실행하여 이 목록을 얻었습니다.
./denyusers.awk /etc/passwd
이것이 내 "denyusers.awk" 스크립트의 소스입니다.
#!/bin/awk -f
BEGIN {
FS=":";
printf("%s","DenyUser root");
}
{
username=$1;
uid=$3
shell=$7;
if ((uid<1000) || ( shell == "/sbin/nologin" )) {
printf(" %s", username);
}
}
END {
print "";
}