Я установил Google-Authenticator на машине CentOS 6.5 и настроил некоторых пользователей на предоставление OTP.
Во время редактирования / etc / ssh / sshd_config
Я видел директиву « PermitRootLogin
», которая по умолчанию закомментирована.
Я бы хотел установить « PermitRootLogin no
» но чтобы по-прежнему иметь возможность подключаться к машине как root только из локальной сети.
Возможно ли это?
Используйте параметр конфигурации Match
в /etc/ssh/sshd_config
:
# general config
PermitRootLogin no
# the following overrides the general config when conditions are met.
Match Address 192.168.0.*
PermitRootLogin yes
См. man sshd_config
Метод Match address
уже упоминался, но вы также можете ограничить пользователей (или группы), которым разрешен вход в систему. Например, чтобы ограничить вход в систему пользователю itai
(откуда угодно) и root
(из определенной сети), используйте:
AllowUsers itai root@192.168.0.*
Это не позволит всем остальным пользователям (например, apache
) входить в систему через SSH.
См. также ключевое слово AllowUsers
в руководстве sshd_config(5).
Другая стратегия может состоять в том, чтобы оставить для PermitRootLogin
значение no
для всех адресов, но позволить другому пользователю входить в систему и использовать sudo. Одним из преимуществ этого является то, что вы можете ограничить действия этого пользователя с помощью конфигурации sudo. Это дополнительный уровень защиты в дополнение к ограничению IP-адресов, с которых пользователь-администратор может войти в систему.
В /etc/ssh/sshd_config
отключите вход в систему root:
PermitRootLogin no
Создайте другого пользователя, скажем, admin
. Настройте разрешенные IP-адреса в файле авторизованных ключей этого пользователя, /home/admin/.ssh/authorized_keys
:
from="192.168.0.0/24,fe80::%eth0/64" <your public key here>
В этом примере я также разрешил трафик с локальных IPv6-адресов. ]. Это полезно, если вы используете mDNS, который может разрешаться в адрес IPv6, или если вам нужно получить доступ к серверу, даже если маршрутизация нарушена. Обратите внимание, что часть адреса eth0
будет меняться в зависимости от имени интерфейса на вашем сервере. Используйте ifconfig
или ip-ссылку
, чтобы получить список допустимых сетевых устройств для вашего сервера.