Я установил Google-Authenticator на компьютере с CentOS 6.5 и настроил некоторых пользователей на предоставление OTP.
Во время редактирования /etc/ssh/sshd_config
я увидел директиву " PermitRootLogin
", которая закомментирована по умолчанию.
Я хотел бы установить " PermitRootLogin no
", но по-прежнему иметь возможность ssh к компьютеру от имени пользователя root только из локальной сети.
Это возможно?
sudo - su
входить в систему по ssh или делать то, что не нужно его пользователям (в sudoers вы используете белый список для команд). Если вам нужен root, вы должны физически находиться на консоли - т.е. Root over SSH никогда не должен быть разрешен ... ключи или нет.Ответы:
Используйте
Match
параметр config в/etc/ssh/sshd_config
:Видеть
man sshd_config
источник
~root/.ssh/authorized_keys
. Префикс с ключомfrom="192.168.0.0/24 "
.AllowUser root
Этот
Match address
метод уже упоминался, но вы также можете ограничить пользователей (или группы), которым разрешено входить в систему. Например, чтобы ограничить вход в систему для пользователяitai
(из любого места) иroot
(из определенной сети), используйте:Это препятствует тому, чтобы все другие пользователи (как
apache
) входили через SSH.Смотрите также
AllowUsers
ключевое слово в руководстве sshd_config (5) .источник
AllowGroups
добавлять всех пользователей, которые должны иметь возможность войти в систему, используя SSH, к определенной группе. Думаю, это дело вкуса, но это похоже на меньшее редактирование sshd_config (что приводит к меньшему риску испортить и заблокировать всех).AllowUsers itai root@192.168.0.*
и,AllowGroups ssh-users
и вы не будете случайно вызывать локаут в случае, если стажер случайно очищает группу :)