Я хочу установить сервер OpenSSH в Ubuntu. Как это сделать?

Мне нужно сделать следующее:

  1. Настройте сервер OpenSSH

  2. Настроить пару открытых и закрытых ключей ssh для пользователя

  3. Отключить пароль, логин

  4. Включить пользователя root

  5. Настройте пару открытый-закрытый ключ ssh для пользователя root

  6. Установить пароль

1 ответ1

2

Зайдите в терминал и наберите:

sudo su
aptitude install openssh-server openssh-client

Протестируйте установку

ps -A | grep sshd

Если вывод выглядит примерно так:

<some number> ?        00:00:00 sshd

Затем запускается демон ssh.

Снова введите в терминал;

ss -lnp | grep sshd

Если вывод выглядит примерно так:

0  128  :::22  :::*  users:(("sshd",16893,4))
0  128   *:22   *:*  users:(("sshd",16893,3))

Тогда это означает, что демон ssh прослушивает входящие соединения

Теперь мы редактируем файл конфигурации. Сначала мы делаем резервную копию исходного файла.

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults

Теперь мы открываем файл конфигурации, чтобы редактировать его

sudo gedit /etc/ssh/sshd_config

Слабые пароли легко угадать. Лучше всего использовать ключи SSH вместо пароля.

Таким образом, мы полностью отключаем аутентификацию по паролю.

Перейти на линию

#PasswordAuthentication yes

и заменить его на

PasswordAuthentication no

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

Поэтому мы отключаем это. Это дает нам немного безопасности

Перейти на линии

AllowTcpForwarding yes
X11Forwarding yes

и заменить их

AllowTcpForwarding no
X11Forwarding no

Мы можем явно разрешить определенным пользователям и запретить определенным пользователям вход в систему.

Для этого мы должны поместить следующие строки внизу файла конфигурации.

AllowUsers Fred Wilma
DenyUsers Dino Pebbles

Для оптимальной производительности ноутбука мы допускаем два ожидающих соединения. Между третьим и десятым соединением система начнет случайное сбрасывание соединений с 30% до 100% при десятом одновременном соединении. Это можно сделать следующей строкой

MaxStartups 2:30:10

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

LogLevel INFO

в LogLevel VERBOSE

Чтобы отпугнуть начинающих злоумышленников, мы можем отобразить баннер. Удаляем хеш-тег с передней части строки.

#Banner /etc/issue.net

сделать это

Banner /etc/issue.net

Затем мы идем в терминал и набираем:

sudo gedit /etc/issue.net

***************************************************************************
                        NOTICE TO USERS
This computer system is the private property of its owner, whether
individual, corporate or government.  It is for authorized use only.
Users (authorized or unauthorized) have no explicit or implicit
expectation of privacy.
Any or all uses of this system and all files on this system may be
intercepted, monitored, recorded, copied, audited, inspected, and
disclosed to your employer, to authorized site, government, and law
enforcement personnel, as well as authorized officials of government
agencies, both domestic and foreign.
By using this system, the user consents to such interception, monitoring,
recording, copying, auditing, inspection, and disclosure at the
discretion of such personnel or officials.  Unauthorized or improper use
of this system may result in civil and criminal penalties and
administrative or disciplinary action, as appropriate. By continuing to
use this system you indicate your awareness of and consent to these terms
and conditions of use. LOG OFF IMMEDIATELY if you do not agree to the
conditions stated in this warning.
****************************************************************************

Теперь мы сохраняем и закрываем файл конфигурации и перезапускаем ssh, набрав в терминале:

systemctl restart ssh

Далее мы настраиваем ключи SSH. Есть две пары ключей SSH: открытый и закрытый. Открытые ключи присутствуют на серверах, а закрытые ключи - для отдельных лиц. Если кто-то может сопоставить свой закрытый ключ с открытым ключом, только он / она может войти в систему. Кроме того, опционально закрытые ключи могут быть защищены парольной фразой. Кроме того, когда ключи генерируются с использованием 4096-битного шифрования, почти невозможно их взломать методом подбора.

Шаг первый - Создайте пару ключей RSA:

Введите в терминале

ssh-keygen -t rsa -b 4096

Здесь мы используем 64-битное шифрование для большей безопасности

Шаг второй - Сохраните ключи и пароль:

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

Экран примерно такой:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Шаг третий - Скопируйте открытый ключ:

Введите в терминале

ssh-copy-id user@123.45.56.78

Здесь 123.45.56.78 - IP-адрес сервера.

В случае localhost это

ssh-copy-id user@localmachinename

Экран примерно такой

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
user@12.34.56.78's password: 
Now try logging into the machine, with "ssh 'user@12.34.56.78'", and check in:

~/.ssh/authorized_keys

чтобы убедиться, что мы не добавили дополнительные ключи, которые вы не ожидали.

Теперь наша установка завершена. Для входа нам нужно набрать в терминале:

ssh username@servername

Затем, когда вас попросят ввести фразу-пароль, мы должны предоставить ее.

Теперь нам нужно включить root-вход для сервера opessh. Сначала нужно включить пароль sudo, так как он по умолчанию отключен в Ubuntu.

Для этого мы наберем в терминале следующее, screen будет выглядеть примерно так:

sudo passwd
[sudo] password for [username]: [Type your user password and press return]
Type new UNIX password: [Type the root password you want]
Retype new UNIX password: [Retype the root password you chosen before]
passwd: password updated successfully

Теперь нам нужно отредактировать файл /etc /sudoers.

Здесь мы используем редактор под названием Visudo

Это потому, что Visudo с единственной целью редактирования файла sudoes

В Ubuntu по умолчанию файлы конфигурации открываются редактором nano

Чтобы изменить его, наберите в терминале:

sudo update-alternatives --config editor

Появится следующий экран:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Введите 3 и нажмите Enter

Затем введите:

sudo visudo

Перейти к строке, которая гласит

Defaults    env_reset

Нажмите Ввод

Над новой линией создается

Тип:

Значения по умолчанию rootpw

используйте пробел, а не TAB

Нажмите Esc ->:x -> Enter

В терминале типа:

gedit /etc/ssh/sshd_config

Перейти к строке:

PermitRootLogin password-prohibited

и изменить его на

PermitRootLogin yes

Далее переходим к строке:

PasswordAuthentication no

и изменить его на

PasswordAuthentication yes

Сохрани и закрой

Затем перезапустите SSH

service ssh restart

Теперь пришло время снова сгенерировать пару открытый-закрытый ключ ssh для пользователя root.

Введите в терминале

ssh-keygen -t rsa -b 4096

Шаг второй - Сохраните ключи и пароль:

Следуйте инструкциям на экране, укажите желаемое место для хранения ключей, НЕ ПРИНИМАЙТЕ значение по умолчанию, так как на этот раз вы должны создать новую пару, значение по умолчанию уже создано, выберите фразу-пароль, дайте надежную фразу-пароль, запомните его.

Экран примерно такой:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): u-root-id_rsa 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/u-root-id_rsa.
Your public key has been saved in /home/demo/.ssh/u-root-id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:

+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Затем введите в терминале:

ssh-copy-id -i u-root-id_rsa.pub root@localmachinename

Экран вывода может показать:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
user@12.34.56.78's password: 

Теперь попробуйте войти в систему, используя "ssh 'user@12.34.56.78'", и зарегистрируйтесь:

~/.ssh/authorized_keys

чтобы убедиться, что мы не добавили дополнительные ключи, которые вы не ожидали.

Теперь мы предоставили закрытый ключ доступа root для входа

Для проверки типа:

ssh root@localmachine

Снова в терминале типа:

gedit /etc/ssh/sshd_config

перейти к линии:

PasswordAuthentication yes

и изменить его на

PasswordAuthentication no

Сохрани и закрой

Затем перезапустите SSH

service ssh restart

Он попросит пароль. Пароль остается прежним. Дай это.

Теперь рут сможет успешно залогиниться

Теперь для большей безопасности мы должны добавить брандмауэр

Тип:

apt install ufw

Теперь начни это

enable ufw

Получить список запущенных процессов

ufw app list

OpenSSH будет указан там.

ALow it through firewall
ufw allow OpenSSH

Перезапустите брандмауэр

systemctl restart ufw

Наша установка завершена

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .