Centos 7 вход из под root

Introduction

When you first create a new server, there are a few configuration steps that you should take early on as part of the basic setup. This will increase the security and usability of your server and will give you a solid foundation for subsequent actions.

When you first create a new CentOS 8 server, there are a few configuration steps that you should take early on as part of the basic setup. This will increase the security and usability of your server and will give you a solid foundation for subsequent actions.

Here is what I have so far:

In /etc/sudoers, I have:

Note that I edited /etc/sudoers because /usr/sbin/visudo did not work.

I then typed systemctl reload sshd.service because /etc/init.d/sshd reload threw an error on CentOS 7.

Правильная первичная настройка только что созданного сервера не только подготовит его к дальнейшей работе, но и сделает её более удобной и безопасной.

В этой инструкции мы расскажем, как подготовить только что созданный сервер под управлением CentOS 7 к работе: создадим нового пользователя, наделим его привилегиями sudo, установим и предварительно настроим фаервол, запретим подключение к серверу от имени root-пользователя и настроим SSH-подключение с аутентификацией по ключу.

Step 4 — Setting Up a Basic Firewall

Firewalls provide a basic level of security for your server. These applications are responsible for denying traffic to every port on your server, except for those ports/services you have explicitly approved. CentOS has a service called firewalld to perform this function. A tool called firewall-cmd is used to configure firewalld firewall policies.

Note: If your servers are running on DigitalOcean, you can optionally use DigitalOcean Cloud Firewalls instead of firewalld. We recommend using only one firewall at a time to avoid conflicting rules that may be difficult to debug.

First install firewalld:

dnf firewalld

The default firewalld configuration allows ssh connections, so we can turn the firewall on immediately:

systemctl start firewalld

Check the status of the service to make sure it started:

systemctl status firewalld

● firewalld.service — firewalld — dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 16:39:40 UTC; 3s ago
Docs: man:firewalld(1)
Main PID: 13180 (firewalld)
Tasks: 2 (limit: 5059)
Memory: 22.4M
CGroup: /system.slice/firewalld.service
└─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld —nofork —nopid

Note that it is both active and enabled, meaning it will start by default if the server is rebooted.

Now that the service is up and running, we can use the firewall-cmd utility to get and set policy information for the firewall.

First let’s list which services are already allowed:

firewall-cmd —list-all

To see the additional services that you can enable by name, type:

To add a service that should be allowed, use the —add-service flag:

firewall-cmd —add-servicehttp

This would add the http service and allow incoming TCP traffic to port 80. The configuration will update after you reload the firewall:

Remember that you will have to explicitly open the firewall (with services or ports) for any additional services that you may configure later.

Шаг 3

В данной группе все пользователи по умолчанию обладают возможностью использовать команду sudo.

Как установить новый пароль root на VDS, когда он известен

Нужно создать удалённое подключение к виртуальному серверу по сетевому протоколу SSH. Проще всего это сделать через бесплатную программу-клиент PuTTY (для Windows) или встроенный SSH-клиент для Mac OS.

Есть много удобных серверных клиентов и для пользователей мобильных устройств. Например, JuiceSSH для Android или Termius для iOS.

Смена пароля root с помощью PuTTY

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Step Five— Configure SSH (OPTIONAL)

Now it’s time to make the server more secure. These steps are optional. They will make the server more secure by making login more difficult.

Open the configuration file

sudo vi /etc/ssh/sshd_config

Port 25000
Protocol 2
PermitRootLogin no
UseDNS no

We’ll take these one by one.

Port: Although port 22 is the default, you can change this to any number between 1025 and 65535. In this example, I am using port 25000. Make sure you make a note of the new port number. You will need it to login in the future, and this change will make it more difficult for unauthorized people to log in.

Save and Exit

Troubleshooting

Если у вас настроено достаточно прав в sudoers, вы также можете открыть root-ую оболочку shell используя:

В последних версиях только на CentOS 5, для запуска shell под root, используется sudo -s. Будьте очень осторожны, так как это может менять или создавать новые файлы в домашней директории Root, а установку вести в домашний каталог вызвавшего пользователя.

Applicable to Centos Versions

Первое подключение к серверу производится от имени root-пользователя. Подключиться можно как через веб-консоль, так и по SSH, задав предварительно пароль root-пользователя в панели управления сервером.

Дополнительно:  Не работает тачпад на Windows 10 » Страница 2

Мы не будем использовать root-пользователя для постоянного управления сервером — его права настолько обширны, что серверу можно нанести непоправимый ущерб даже просто по неосторожности. Чтобы избежать этого, создадим нового пользователя:

Зададим для него пароль:

Далее добавим его в группу пользователей, которые могут выполнять команды от имени администратора:

Все дальнейшие операции мы будем проводить от имени только что созданного нами пользователя. Чтобы запустить команду от имени администратора, в начале строки нужно будет ввести sudo.

Если пакет sudo не установлен на вашем сервере (после ввода команды появится сообщение Unit sudo.service could not be found) установите его вручную.

Для этого зайдите на сервер от имени root-пользователя и выполните команду:

Если вы введёте в командную строку sudo, консоль должна вернуть короткое приветственное сообщение. Теперь можно переключаться на только что созданного пользователя, добавленного в группу sudo.

Использование команды

Многие команды могут быть запущены только суперпользователем, поэтому мы должны знать, как становится им (root-ом). Чтобы сделать это, мы можем использовать команду: su (смена пользователя). Команда su принимает следующие форматы:

но чаще всего мы будем использовать su для того, чтобы стать пользователем root:

если имя пользователя в строке не указано, то автоматически предпологается пользователь root, поэтому команду можно сократить:

но обе команды ведут себя различно. ‘su ‘ дает текущему пользователю личность , тогда, как ‘su — ‘ дает текущему пользователю личность вместе с окружением , которое можно было бы получить, зарегистрировавшись в качестве .

Зачастую пользователи используют ‘su’ для перехода в root. Попробовав запустить команду (например — ifconfig), вы получите: ‘command not found’ error.

Команды обычных пользователей обычно расположены в /usr/local/bin, /usr/bin и /bin. А команды пользователя root распологаются в основном в /usr/local/sbin, /usr/sbin, /sbin и корневой PATH это отражает. Поэтому, когда вы становитесь суперпользователем при помощи «su -«, то вы также принимаете и новый путь PATH к основным командам. А используя только ‘su’, сохраняется пользовательский путь PATH по умолчанию, следовательно, при попытке выполнить программу расположенную в /usr/local/sbin, /usr/sbin, /sbin выдаст результат: ‘command not found’ error. Для более детального объяснения, смотрите справочную страницу (man bash), особенно раздел login shells.

Таким образом, вы или должны указывать полный путь к команде (пример — /sbin/ifconfig) при использовании ‘su’, либо использовать ‘su -‘, когда становитесь root-ом.

Step One — Root Login

Complete the login process by accepting the warning about host authenticity, if it appears, then providing your root authentication (password or private key). If it is your first time logging into the server, with a password, you will also be prompted to change the root password.

About Root

Enter a strong password, and repeat it again to verify it.

Step Two—Change Your Password

Currently your root password is the default one that was sent to you when you registered your droplet. The first thing to do is change it to one of your choice.

CentOS is very cautious about the passwords it allows. After you type your password, you may see a BAD PASSWORD notice. You can either set a more complex password or ignore the message—CentOS will not actually stop you from creating a short or simple password, although it will advise against it.

See More

As you start securing your droplet with SSH, you can continue to improve its security by installing programs, such as Fail2Ban or Deny Hosts, to prevent against brute force attacks on the server.

You can also find the tutorial to install the LAMP stack on the server here or the LEMP stack on the server here.

By Etel Sverdlov

Doing the work

Reload SSH, and it will implement the new ports and settings.

service sshd reload

Don’t forget to include the new port number.

Your prompt should now say:

Deprecated

This article covers a version of CentOS that is no longer supported. If you are currently operating a server running CentOS 6, we highly recommend upgrading or migrating to a supported version of CentOS.

Reason:
CentOS 6 reached end of life (EOL) on November 30th, 2020 and no longer receives security patches or updates. For this reason, this guide is no longer maintained.

See Instead:
This guide might still be useful as a reference, but may not work on other CentOS releases. If available, we strongly recommend using a guide written for the version of CentOS you are using.

The Basics

Accept the warning about host authenticity if it appears. If you are using password authentication, provide your root password to log in. If you are using an SSH key that is passphrase protected, you may be prompted to enter the passphrase the first time you use the key each session. If this is your first time logging into the server with a password, you may also be prompted to change the root password.

Шаг 2

Используйте команду passwd для того, чтобы назначить пароль для созданного пользователя:

Задайте и подтвердите новый пароль в командной строке. Настоятельно рекомендую придумать сложный пароль!

Step One—Root Login

The terminal will show:

The authenticity of host ‘69.55.55.20 (69.55.55.20)’ can’t be established.
ECDSA key fingerprint is 79:95:46:1a:ab:37:11:8e:86:54:36:38:bb:3c:fa:c0.
Are you sure you want to continue connecting (yes/no)?

Go ahead and type yes, and then enter your root password.

Step Three — Root Privileges

gpasswd demo wheel

Where To Go From Here?

At this point, you have a solid foundation for your server. You can install any of the software you need on your server now.

If you are not sure what you want to do with your server, check out the next tutorial in this series for Additional Recommended Steps for New CentOS 7 Servers. It covers things like enabling fail2ban to reduce the effectiveness of brute force attacks, basic firewall settings, NTP, and swap files. It also provides links to tutorials that show you how to set up common web applications.

Дополнительно:  0X00000034 CACHE_MANAGER – Инструкции для людей

Шаг 4

Проверьте, обладает ли новый пользователь sudo-правами. Для этого:

Если пользователь в правильной группе, и вы правильно ввели пароль, то команда, которую вы запросили, будет выполнена с административными привилегиями.

Использование Sudo

Вам не нужно быть суперпользователем каждый раз, когда вы хотите запустить некоторые конкретные административные функции. Благодаря Sudo, вы можете запустить некоторые или все команды как под root-ом. Когда Sudo установлен (пакет: Sudo), вы можете настроить его при помощи команды ‘visudo’ под root-ом. В основном он редактирует (Vim по умолчанию) /etc/sudoers, но это не рекомендуется делать вручную.

Таким образом, быстрый и нерекомендуемый способ использования Sudo, это добавить в конце файла sudoers:

Alex — имя пользователя. Сохраните (нажать escape, затем ввести wq), и все готово. Войдите как alex, и запустите например:

Sudo запросит пароль. Это пароль alex-а, а не пользователя root. Так что будте осторожны, когда вы даете права пользователя с Sudo.

Alex так же может выполнить суперпользовательскую команду, и alisa получила право запускать Sudo, с теми же правами и со своим паролем. Если alex и alisa не члены одной группы, мы можем определить псевдоним пользователя в файле sudoers:

Тем не менее, мы не хотим, чтобы alex и alisa могли запускать с правами суперпользователя любую програму. Мы хотим, чтобы они могли запускать только ‘updatedb’. Давайте определим команду псевдоним:

На этот раз, /etc/sudoers выглядит следующим образом:

В результате alex и alisa могут запускать updatedb, как root, введя свой пароль.

Если последнюю строчку в файле изменить:

тогда alex и alisa смогут выполнить ‘sudo updatedb’ без ввода пароля.

Можно добавить другие команды в командный алиас и более алиасов в правило. Например мы можем создать алиас NETWORKING содержащий некоторые сетевые команды типа: ifconfig, route или iwconfig:

Маленькая проба: войдите в систему как alisa (или alex), и наберите:

Ответ должен вернуться быстро:

Теперь, тоже-самое но с Sudo:

Sudo часто используется для предоставления определенным пользователям частичного доступа к привелигированным командам, чтобы они могли выполнять ограниченные административные функции. Одно из удобств Sudo в том, что все команды записываются в /var/log/secure. Приведенный выше пример будет описан строчкой в журнале:

Вот и все. Теперь никогда не забуду, когда использовал Sudo: «с большой властью приходит большая ответственность».

# Установка и настройка фаервола

Для установки фаервола будем использовать программу-установщик YUM. Как правило, YUM установлен по умолчанию и сразу готов к работе.

Начнём с обновления репозиториев YUM:

Программа-установщик укажет дисковый объём, который будет занят при установке обновлённых пакетов, и попросит согласие на продолжение.

После успешного обновления YUM (в строке выдачи появится сообщение Complete!) можно переходить непосредственно к установке фаервола:

По умолчанию служба ssh добавлена в список исключений фаервола, поэтому его можно запускать сразу же после установки.

Активируем его и запустим:

Активация позволит фаерволу запускаться после перезагрузки сервера.

Сейчас можем проверить, какая зона (группа настроек) активна и какие службы разрешены.

Она выведет на экран активную зону с её настройками.

Чтобы посмотреть список всех доступных для подключения и настройки зон, введём команду:

Внутри этих зон можно настроить определённые правила, добавить сетевые интерфейсы и создать гибкую систему управления безопасностью вашего сервера. Это очень удобно, например, если вы используете ноутбук и регулярно подключаетесь к разным сетям. В нашем материале мы ограничимся только общими сведениями о фаерволе.

If the Root Account Uses SSH Key Authentication

Note: The rsync command treats sources and destinations that end with a trailing slash differently than those without a trailing slash. When using rsync below, be sure that the source directory (~/.ssh) does not include a trailing slash (check to make sure you are not using ~/.ssh/).

sammy:sammy ~/.ssh /home/sammy

Как изменить пароль root на VDS, когда он неизвестен

Поменять пароль root в этом случае можно через панель VMmanager, используя встроенную систему удалённого доступа к серверу Virtual Network Computing (VNC).

Теперь можно загрузится в штатном режиме с уже действующим новым паролем.

Step Three— Create a New User

We test this stuff on our own machines, really we do. But you may run into problems, if you do, come to #centos on irc.freenode.net

Last Modified: 22 Apr, 2020 at 16:33:46

Step Four— Root Privileges

Let’s go ahead and edit the sudo configuration. This can be done through the default editor, which in CentOS is called ‘vi’

It will look like this:

To began typing in vi, press “a”.

demo ALL=(ALL) ALL

Press Escape, :, w, q, then Enter to save and exit the file.

Step Five — Configure SSH Daemon

Now that we have our new account, we can secure our server a little bit by modifying its SSH daemon configuration (the program that allows us to log in remotely) to disallow remote SSH access to the root account.

Begin by opening the configuration file with your text editor as root:

To disable remote root logins, we need to find the line that looks like this:

Hint: To search for this line, type /PermitRoot then hit ENTER. This should bring the cursor to the “P” character on that line.

Uncomment the line by deleting the “#” symbol (press Shift-x).

Now move the cursor to the “yes” by pressing c.

Now replace “yes” by pressing cw, then typing in “no”. Hit Escape when you are done editing. It should look like this:

Disabling remote root login is highly recommended on every server!

Enter 😡 then ENTER to save and exit the file.

Reload SSH

Now that we have made our changes, we need to restart the SSH service so that it will use our new configuration.

Дополнительно:  Возникла проблема с запуском устройства root windowshellofacesoftwaredriver 0000

Type this to restart SSH:

Now, before we log out of the server, we should test our new configuration. We do not want to disconnect until we can confirm that new connections can be established successfully.

Open a new terminal window. In the new window, we need to begin a new connection to our server. This time, instead of using the root account, we want to use the new account that we created.

For the server that we configured above, connect using this command. Substitute your own information where it is appropriate:

Note: If you are using PuTTY to connect to your servers, be sure to update the session’s port number to match your server’s current configuration.

Remember, if you need to run a command with root privileges, type “sudo” before it like this:

If all is well, you can exit your sessions by typing:

# SSH-подключение к серверу с аутентификацией по ключу

Принцип установления безопасного соединения с сервером для всех систем одинаков: мы помещаем на сервер публичный ключ, и при подключении сервер сравнивает свой публичный ключ с приватным ключом, который мы предъявляем при подключении.

Основные различия в данном случае обусловлены синтаксисом команд в разных версиях операционных систем.

Зайдём в корневую папку пользователя:

Создадим папку, в которой будет храниться публичный ключ:

Теперь установим на неё права 700:

В этой папке создадим файл, который будет содержать публичный ключ:

В открывшемся текстовом файле разместим наш публичный ключ.Если вы используете ОС Windows, то для генерации пары ключей используйте утилиту PuTTY Key Generator. Сохраним файл и установим на него права 600:

После этого можно отключиться от сервера и проверить правильность подключения к нему с помощью ключа.

# Ограничение SSH-доступа для root-пользователя

Чтобы повысить уровень безопасности нашего сервера, запретим SSH-подключение к нему от имени root-пользователя. Для этого мы отредактируем файл конфигурации ssh-демона.

Подключимся к серверу от имени root-пользователя и откроем в текстовом редакторе файл конфигурации:

В этом файле нам нужно найти строку #PermitRootLogin yes. Раскомментируем её (уберём # в начале строки) и заменим yes на no. В итоге строка должна выглядеть так: PermitRootLogin no. Сохраним изменения и перезагрузим нашу ssh-службу:

Теперь к нашему серверу нельзя подключиться по SSH от имени root-пользователя — можно только через веб-консоль.

Далее можно переходить непосредственно к работе с сервером — устанавливать программное обеспечение, привязывать домен и начинать работу с собственными проектами.

Requirements

Requirements including prerequisite reading or packages

If you do not already have an SSH key pair, which consists of a public and private key, you need to generate one. If you already have a key that you want to use, skip to the Copy the Public Key step.

Hit return to accept this file name and path (or enter a new name).

Next, you will be prompted for a passphrase to secure the key with. You may either enter a passphrase or leave the passphrase blank.

Note: If you leave the passphrase blank, you will be able to use the private key for authentication without entering a passphrase. If you enter a passphrase, you will need both the private key and the passphrase to log in. Securing your keys with passphrases is more secure, but both methods have their uses and are more secure than basic password authentication.

Copy the Public Key

After generating an SSH key pair, you will want to copy your public key to your new server. We will cover two easy ways to do this.

Note: The ssh-copy-id method will not work on DigitalOcean if an SSH key was selected during Droplet creation. This is because DigitalOcean disables password authentication if an SSH key is present, and the ssh-copy-id relies on password authentication to copy the key.

If you are using DigitalOcean and selected an SSH key during Droplet creation, use option 2 instead.

Use ssh-copy-id

Select the public key, and copy it to your clipboard.

Add Public Key to New Remote User

.ssh
.ssh

Now open a file in .ssh called authorized_keys with a text editor. We will use vi to edit the file:

Enter insert mode, by pressing i, then enter your public key (which should be in your clipboard) by pasting it into the editor. Now hit ESC to leave insert mode.

Now restrict the permissions of the authorized_keys file with this command:

Consolehelper

Consolehelper представляет собой оболочку для запуска GUI приложений. Когда он начинает работать, он проверяет конфигурацию PAM для требуемого применения. Это означает, что мы можем проводить аутентификацию пользователя с помощью всех установленных модулей PAM. Основной метод состоит в том, чтобы запросить пароль, но если мы имеем надлежащее оборудование. мы можем аутентифицировать с помощью смарткарты, жетонов, отпечатков пальцев и т.д. Конфигурация PAM выходит за рамки этого документа (см. PAM Руководство администратора), поэтому мы рассмотрим этап настройки consolehelper, необходимый для запуска приложений под root-ом и запросом пароля root.

В качестве примера, давайте настроим /usr/bin/xterm для запуска в качестве root-ого.

Во-первых, мы хотим сохранить возможность запускать Xterm под обычным пользователем. Поэтому создадим символическую ссылку /usr/bin/xterm-root для /usr/sbin/consolehelper:

Теперь для конфигурирования PAM — создайте файл /etc/pam.d/xterm-root:

Наконец, настройте consolehelper на запуск /usr/bin/xterm под root-ом, командой ‘xterm-root’. Создайте файл /etc/security/console.apps/xterm-root:

Вот и все. Запускайте ‘xterm-root’ (из командной строки или ярлыком .desktop file), введите пароль и в путь. Если вы получили сообщение об ошибке: «Xlib: connecttion to «:0.0″ refused by server», запустите сначала ‘xhost local:root’.

Два нижеописанных варианта подходят для сброса root на VDS с KVM-виртуализацией и Linux-подобными ОС. Например – ОС Debian, CentOS, Ubuntu.

В этом обзоре мы рассмотрим процесс сброса пароля для операционной системы centOS 7.

Оцените статью
Master Hi-technology