Como posso permitir que apenas determinados usuários façam o ssh?

1

Em um sistema onde todo pessoal tem conectividade ssh, é seguro usar %código% em / etc / ssh / sshd_config?

Eu quero que todo o pessoal tenha acesso ssh, mas não quero que as contas do sistema tenham permissões ssh. Eu também gostaria de configurá-lo sem ter que adicionar usuários perpetuamente ao arquivo de configuração. Existe uma variável que eu poderia usar em vez disso? Se eu assumir o nome de usuário == home do usuário, talvez AllowUsers AllowUsers $USER trabalharia. Não tenho certeza se devo fazer isso.

    
por j0h 02.12.2016 / 22:29

1 resposta

2

Faça o oposto. Use DenyUsers em sshd_config para evitar logins pelos usuários na lista.

A lista de usuários que você recusaria os recursos de login geralmente será o superusuário e qualquer usuário que tenha / bin / nologin como seu shell. Além disso, examine seu arquivo / etc / passwd e determine qualquer usuário que esteja instalado como parte de um pacote. No CentOS 7, esses usuários geralmente terão uids abaixo de 1000.

Aqui está o meu no CentOS 7:


DenyUsers root bin daemon adm lp sync shutdown halt mail operator games ftp nobody dbus polkitd tss colord usbmuxd rpc rtkit qemu radvd ntp chrony abrt avahi-autoipd unbound rpcuser nfsnobody libstoragemgmt saslauth pulse gdm gnome-initial-setup avahi pcp postfix sshd oprofile tcpdump lightdm openvpn nm-openconnect

Eu peguei essa lista executando um script awk que chamo de "denyusers.awk":

./denyusers.awk /etc/passwd

Aqui está a fonte do meu script "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 "";
}
    
por 03.12.2016 / 08:38

Tags