Зайдите в терминал и наберите:
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
Наша установка завершена