Як відключити віддалений вхід у SSH як root із сервера?


54

З метою безпеки моя компанія хоче, щоб я не дозволяв нікому мати можливість входити на наш сервер Ubuntu як root віддалено через SSH. Ми все ще хочемо, щоб кореневий обліковий запис існував, ми просто не хочемо, щоб він міг віддалено входити в систему. Як я це досяг?

Заздалегідь дякую за ваш час.

Відповіді:


85

Я припускаю, що ви мали на увазі вхід через SSH? Поставте наступний рядок до /etc/ssh/sshd_config:

PermitRootLogin no

Якщо ви хочете заборонити певним користувачам входити в систему, введіть це у файл конфігурації:

DenyUsers root

Це вимагає підходу до чорного списку. Білі списки зазвичай є кращими. Якщо ваша компанія повинна дозволити robі adminкористувачам увійти на сервері, використовуйте наступну директиву конфігурації:

AllowUsers rob admin

Після внесення змін у конфігураційний файл перезапустіть службу ssh за допомогою команди:

sudo service ssh restart

Дивіться також сторінку керівництва .


14
і sudo service ssh restartнабути чинності
Максим Єфремов

Я не бачу файлу sshd_config, я бачу цей / etc / ssh / ssh_config.
Chinmaya B

@ChinmayaB Напевно ви не встановили сервер OpenSSH. Спробуйтеsudo apt-get install openssh-server
Лекенштейн

14

Відредагуйте файл /etc/ssh/sshd_config, шукайте

PermitRootLogin

і встановити його no.


Якщо ви це зробите, не додаючи користувачів, AllowUsers <username>чи це не дозволить нікому не входити в SSH?
JGlass

1
@JGlass Ви можете зв'язати цю відповідь з вищевказаною, яка має додаткові параметри - цей конкретний рядок забороняє входити в систему через SSH. Якщо в системі є інші користувачі, за інших рівних умов, вони все одно зможуть увійти через SSH, якщо ви DenyUsersтакож не будете входити в систему .
броненосець

@armadadrive - ах, дякую за виправлення та пояснення!
JGlass

5

Конфігурація за замовчуванням - блокування кореневого облікового запису, тому ви не можете віддалено входити в систему як root. Вам більше нічого не потрібно робити, якщо ви також не хочете переконатися, що ви не можете ввійти як кореневий дистанційно за допомогою ключа RSA. Звичайно, якщо ви цього не хочете, просто не встановлюйте кореневий ключ.


1
Це було не за замовчуванням для моєї машини Linode Ubuntu 14.04. PermitRootLoginбув встановлений yesі не було AllowUsersабо DenyUsersконфігурації лінії. Якщо я чогось не пропускаю, я не думаю, що це безпечно припустити, що воно за замовчуванням заблоковано
andrewtweber

@andrewtweber, вхід у корінь не заборонено через ssh config, але загальносистемний, встановивши пароль root на недійсне значення, яке ви не можете ввести. Таким чином, як я вже сказав, ви все одно можете ввімкнути скриньку як root за допомогою ключа RSA, тільки не з паролем.
psusi

ок, дякую, чи можете ви додати це пояснення до своєї відповіді, і тоді я зможу видалити свій потворний акт
andrewtweber

@andrewtweber, це вже в моїй відповіді ..
psusi

Ваше пояснення того, як заблоковано кореневий рахунок, не відповідає вашій відповіді. У будь-якому разі я не можу зняти протокол, якщо ваша відповідь не буде відредагована, тому продовжуйте та будьте вперті, якщо хочете
andrewtweber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.