사용자에 SSH 액세스 권한 부여
하나 이상의 사용자에게 SSH 액세스를 부여하려면 다음 단계를 수행한다. 이 단계는 이 파일을 구성하는 방법을 보여줍니다.
-
다음 OpenSSH 파일을 찾으십시오.
/etc/ssh/sshd_config
-
필요한 경우 되돌릴 수 있도록 이 파일의 백업을 작성하십시오.
cp /etc/ssh/sshd_config{,.'date +%s'}
-
OpenSSH 키워드를 사용하여 파일을 편집하십시오.
OpenSSH 키워드
OpenSSH 키워드에 대한 다음 정보를 참조하십시오.
AllowGroups
이 키워드 다음에 그룹 이름 패턴 목록을 포함하십시오. 공백으로 패턴을 구분하십시오. 로그인을 지정하면 기본 그룹 또는 보조 그룹 목록이 패턴 중 하나와 일치하는 사용자에만 허용됩니다. 패턴에서는 "*" and "?"
를 와일드카드로 사용할 수 있습니다. 그룹 이름만 유효하고 숫자 그룹 ID는 인식되지 않습니다. 기본적으로 로그인은
모든 그룹에 허용됩니다.
AllowUsers
이 키워드 다음에 사용자 이름 패턴 목록을 포함하십시오. 공백으로 패턴을 구분하십시오. 로그인을 지정하면 패턴 중 하나와 일치하는 사용자 이름에 대해서만 허용됩니다. 패턴에서는 "*" and "?"
를 와일드카드로 사용할 수 있습니다. 사용자 이름만 유효합니다. 숫자로 된 사용자 ID는 인식되지 않습니다. 기본적으로 로그인은
모든 사용자에게 허용됩니다. 패턴이 USER@HOST 양식을 사용하는 경우 USER 및 HOST는 개별적으로 선택되며 특정 호스트의 특정 사용자로 로그인이 제한됩니다.
DenyGroups
이 키워드 다음에 그룹 이름 패턴 목록을 포함하십시오. 공백으로 패턴을 구분하십시오. 로그인을 지정하면 기본 그룹 또는 보조 그룹 목록이 패턴 중 하나와 일치하는 사용자에게 허용되지 않습니다. 패턴에서는 "*" and "?"
를 와일드카드로 사용할 수 있습니다. 그룹 이름만 유효하고 숫자 그룹 ID는 인식되지 않습니다. 기본적으로 로그인은
모든 그룹에 허용됩니다.
DenyUsers
이 키워드 다음에 사용자 이름 패턴 목록을 포함하십시오. 공백으로 패턴을 구분하십시오. 로그인을 지정하면 패턴 중 하나와 일치하는 사용자 이름에 대해 허용되지 않습니다. 패턴에서는 "*" and "?"
를 와일드카드로 사용할 수 있습니다. 사용자 이름만 유효합니다. 숫자로 된 사용자 ID는 인식되지 않습니다. 기본적으로 로그인은
모든 사용자에게 허용됩니다. 패턴이 USER@HOST 양식을 사용하는 경우 USER 및 HOST는 개별적으로 선택되며 특정 호스트의 특정 사용자로 로그인이 제한됩니다.
예
다음 예제에서는 두 개의 특정 사용자 ( admin
및 user1
) 만 서버에 로그인할 수 있습니다.
DenyGroups
및 DenyUsers
키워드를 사용하여 유사한 방법으로 그룹을 거부할 수 있습니다.
AllowUsers admin user1
사용자의 향후 확장을 준비하기 위해 서버에 로그인할 수 있는 그룹을 서버에 작성할 수 있습니다. 필요에 따라 개별 사용자를 추가할 수 있습니다(*username
*을 실제 사용자로 대체).
-
쉘에서 sshusers와 같은 사용자 그룹을 추가하십시오.
groupadd –r sshusers
-
쉘에서 그룹에 사용자를 추가하십시오.
usermod –a –G sshusers admin
usermod -a -G sshusers user1
-
sshd_config 파일에서 sshusers 그룹에 액세스 권한을 제공하십시오.
AllowGroups sshusers
-
sshd가 중단 없이 새 구성을 읽어오는지 확인하십시오.
/usr/sbin/sshd –t
echo $?
0
명령 다음에echo $?
이 오면 새 구성이 제대로 된 것입니다.또한 다음 예제와 유사한 오류 메시지가 나타날 수 있습니다.
sshd_config: line 112: Bad configuration option: allowuser
sshd_config: terminating, 1 bad configuration options
-
모든 오류를 수정하고 구성이 올바르면 sshd를 다시 시작하십시오. 다음 명령은 sysv 호환 시스템에 있는 예제 명령이다.
/etc/init.d/sshd restart
기존 세션의 연결을 끊지 않고 새 SSH 세션을 작성해야 합니다. 추가한 사용자로 조치를 수행할 수 있는지 확인하십시오.