Можно ли получить доступ к корневой оболочке только с одного определенного IP-адреса
Я использую CentOS. я хочу, чтобы только один пользователь мог войти в систему через оболочку только с одного ip
Да, добавьте следующее в sshd_config, чтобы разрешить вход только по ключу и ограничить его определенным IP-адресом.
AllowUsers root@ip.add.re.ss
PermitRootLogin without-password
Вы можете использовать правила брандмауэра iptables, например
iptables -I INPUT -s <IP> -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 22 -j REJECT
И еще один способ сделать это - использовать обертки tcp через /etc/hosts.allow и /etc/hosts.deny - см. Мою страницу по этому поводу: http://wiki.xdroop.com/space/Linux/Limited+SSH+Access
Вы можете использовать строку предложения
PermitRootLogin without-password
в конфиге sshd. Если вы затем префикс строки открытого ключа в файле authorized_keys пользователя root с помощью
from="v.x.y.z" ...
тогда это должно дать желаемый эффект.
См. Справочную страницу sshd, это объясняется в разделе ФОРМАТ ФАЙЛА AUTHORIZED_KEYS.
См. Документацию по ssh:
http://www.ssh.com/support/documentation/online/ssh/adminguide/32/Restricting_User_Logins.html