Как настроить ssh fedora

Начальная настройка сервера Fedora 22

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

Данное руководство покажет, как защитить свежий сервер Fedora 22 и подготовить его к использованию.

Требования

Для выполнения руководства необходим новый ненастроенный сервер Fedora 22, права root и SSH-ключи.

1: Создание пользователя

Войдите на сервер:

ssh root@ your_server_ip

Постоянное использование root-аккаунта – серьёзная угроза безопасности сервера, потому для повседневной работы рекомендуется создать не-рутового пользователя с расширенными правами sudo.

Примечание: В этом руководстве используется условное имя пользователя 8host; замените это имя своим.

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

Установите надёжный пароль при помощи следующей команды (пароль нужно ввести дважды):

Затем добавьте нового пользователя в группу wheel, чтобы дать ему доступ к sudo:

gpasswd -a 8host wheel

Вернитесь в локальную систему и добавьте SSH-ключ для нового пользователя, запустив следующую команду:

ssh-copy-id 8host @ your_server_ip

Примечание: Полезные инструкции по настройке SSH-ключей можно найти в специальном разделе этого сайта.

Вернитесь на сервер и авторизуйтесь как новый пользователь. Обратите внимание: система не запрашивает пароль, поскольку для авторизации используются SSH-ключи.

ssh 8host @ your_server_ip

2: Отключение root-логина и пароля

Теперь нужно отключить авторизацию на основе пароля и запретить root-логин, что сделает авторизацию на основе SSH-ключей ещё более надёжной.

Для редактирования конфигурационных файлов необходим текстовый редактор; в этом руководстве используется nano.

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

sudo dnf update

Затем установите nano:

sudo dnf install -y nano

Теперь откройте конфигурационный файл демона SSH для редактирования:

sudo nano /etc/ssh/sshd_config

В этом файле найдите директиву PermitRootLogin. Раскомментируйте её (уберите символ # в начале строки) и задайте значение no:

Выполните эти действия и для директивы PasswordAuthentication:

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

sudo systemctl reload sshd

Теперь никто не сможет войти на сервер как пользователь root; при попытке авторизоваться как root на экране появится сообщение:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

3: Настройка часового пояса

На данном этапе нужно настроить часы системы согласно локальному часовому поясу. По умолчанию время устанавливается по Гринвичу (UTC).

Все доступные часовые пояса находятся в каталоге /usr/share/zoneinfo/. Откройте этот каталог и ознакомьтесь с файлами и каталогами, хранящимися в нём.

Чтобы перевести часы в локальный часовой пояс, найдите в этом каталоге специальный файл, предназначенный для вашей страны или географической области, а затем создайте символьную ссылку на каталог /etc/localtime. К примеру, пользователь, живущий в центральной части США (а следовательно – пребывающий в часовом поясе CST), должен выбрать файл /usr/share/zoneinfo/US/Central.

Чтобы создать символьную ссылку на каталог /etc/localtime, используйте команду:

sudo ln -sf /usr/share/zoneinfo/ your_zone_file /etc/localtime

Убедитесь, что часы идут правильно, запросив дату при помощи команды date:

Вывод будет выглядеть примерно так:

Wed Mar 25 14:41:20 CST 2015

Обратите внимание: команда выводит и выбранный часовой пояс (в данном случае это CST).

4: Настройка фаервола

На свежем сервере Fedora 22 нет активных приложений брандмауэра.

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

Пакет IPTables предварительно установлен на сервер Fedora. Но его нельзя включить без пакета iptables-services; установите необходимый пакет:

sudo dnf install -y iptables-services

Теперь можно включить фаервол IPTables (он будет автоматически запускаться вместе с сервером):

sudo systemctl enable iptables

Чтобы запустить IPTables, используйте:

sudo systemctl start iptables

В системе Fedora 22 брандмауэр IPTables поставляется со стандартным набором правил, одно из которых разрешает SSH-трафик. Чтобы просмотреть список стандартных правил, введите:

sudo iptables -L

На экране появится:

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp — anywhere anywhere
ACCEPT all — anywhere anywhere
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh
REJECT all — anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all — anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Эти правила действительны в течение одной сессии и будут потеряны после перезагрузки системы. Чтобы сохранить текущие правила для постоянного использования (даже после перезагрузки), введите:

sudo /usr/libexec/iptables/iptables.init save

Теперь правила сохранены в файл iptables в каталоге /etc/sysconfig.

5: Разрешение трафика HTTP и HTTPS (опционально)

Пр необходимости можно отредактировать стандартные правила фаервола, чтобы разрешить трафик HTTP и HTTPS (порты 80 и 443 соответственно).

Стандартные правила IPTables разрешают только трафик SSH, но сервис HTTP и его относительно более безопасный аналог HTTPS используются многими приложениями, потому их трафик также рекомендуется разрешить.

Для этого откройте правила фаервола:

sudo nano /etc/sysconfig/iptables

В этот файл нужно добавить два правила, которые откроют порты 80 и 443; внесите эти правила сразу после строки для SSH-трафика (порт 22). Ниже приведён фрагмент конфигурационного файла брандмауэра, содержащий правила для HTTP и HTTPS, которые выделены красным:

-A INPUT -p tcp -m state —state NEW -m tcp —dport 22 -j ACCEPT
-A INPUT -p tcp -m state —state NEW -m tcp —dport 80 -j ACCEPT
-A INPUT -p tcp -m state —state NEW -m tcp —dport 443 -j ACCEPT
-A INPUT -j REJECT —reject-with icmp-host-prohibited

Чтобы обновить набор правил, перезапустите IPTables:

sudo systemctl restart iptables

6: Установка Mlocate (опционально)

Команда locate – это очень удобная утилита для определения местонахождения файла в системе. Чтобы, к примеру, найти файл по имени example, достаточно набрать:

Эта команда просканирует систему и сообщит о месте (или местах) хранения запрашиваемого файла. Конечно, существуют и более продвинутые способы использования утилиты locate.

Чтобы иметь доступ к этой команде, нужно установить пакет mlocate:

sudo dnf install -y mlocate

Затем запустите команду updatedb, чтобы обновить базу данных, на основе которой работает locate.

Теперь можно использовать команду locate для поиска необходимых файлов по имени.

Заключение

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

2 комментария

Хорошее описание очень, очень, очень… первоначальной настройки сервера. Я бы поменял порт 22 на другой свободный “экзотический” для уменьшения возможность взлома сервера, путём подбора паролей, например, для SSH назначил бы порт 34632. И ещё, современные версии Fedora используют firewalld, в нём настройки более логичные и простые, например, добавляем порт 34632, “firewall-cmd –permanent –add-port=34632/tcp”. Далее, современные версии Fedora используют дополнительную защиту системы, SELinux, я думаю этим пренебрегать не стоит, я не встречал ещё ни одного вменяемого описания настройки SELinux, все блоггеры предпочитают обойти эту тему и просто предлагают отключить SELinux, поэтому я, что называется, “варился в собственном соку”, в итоге сумел настроить домашний сервер на Fedora 28, с работающей SELinux, правда, пока только в разделах защиты доступа по SSH и доступа через Samba. Настройки SELinux нашёл на одном из англоязычных сайтов, сейчас занимаюсь переводом. И, самое главное, настройки Samba, ведь главная задача любого сервера, например, файлового, или сервера приложений – раздавать ресурсы в общее пользование, виде файлов, или приложений, а учитывая, что большинство компьютеров сети работают под Windows, это супер-насущная необходимость.

От себя лично добавлю, с добавлением комментария к статье мудохался в пять раз больше больше, чем писал комментарий. Однако…

Добавить комментарий Отменить ответ

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

Источник

Включить SSH на Fedora

«Включить SSH на Fedora«. Наверное каждый, кто когда-нить устанавливал на комп или ноут. Соответственно распрекраснейшую операционную систему Fedora. Ну и само собой сталкивался с некоторыми проблемами, особенно с доступом по SSH. Я, например, сначала устанавливаю какую-то новую операционную систему или программу и только затем читаю мануал (инструкцию). Ну и то только в том случае если возникли какие-то проблемы. Иногда они возникают часто а иногда и не очень.

Я считаю что легче всего ставится из Linux операционная система Ubuntu и её производные. Но вот если работаешь с убунтой долгое время и с другими линукс подобными операционными системами не сталкиваешься. Тогда начинаешь думать что и в других будет ОС будет все чётко и гладко. А нет.

В этой коротенькой заметочке я приведу команды которые включат (активируют) доступ по SSH в операционной системе Fedora. Так как после установки, по умолчанию доступ по SSH отключен.

Как установить SSH на Fedora

Если по какой-то причине ssh у вас не установлен. Тогда перед включением требуется установить ssh вот этой командой:

sudo dnf install -y openssh-server

Включить SSH на Fedora

И так, установили вы ОС Fedora и хотите подключится по SSH. Для этого необходимо для начала в терминале в самой операционки ввести следующие команды по порядку:

Как видно из команды то оно активирует сам сервис SSH, но он запустится если вы перезагрузите комп или же если введете следующую команду.

Типа запустили. Для проверки статуса SSH можно использовать следующее

Ну вот и все. Теперь осталось скачать программу pytty и пробуем коннектиться через SSH.

Кстати кто не знает SSH это (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).

Источник

linux-notes.org

Установка и настройка OpenSSH-сервера на Linux

Secure Shell (SSH) является сетевым протоколом обеспечения оболочки услуги на удаленной машине по защищенному каналу. OpenSSH является реализацией с открытым исходным кодом протокола SSH, позволяя зашифровать сообщения по сети через набор программного обеспечения.
OpenSSH разработан группой открытого BSD и он выпущен под упрощенное лицензии BSD.

Особенности OpenSSH

1. Open Source проект ;
2. Бесплатная лицензирование;
3. Очень хорошее шифрование (3DES, Blowfish, AES, Arcfour);
4. X11 Forwarding (шифрование X Window System трафика);
5. Перенаправление портов (зашифрованные каналы для традиционных протоколов);
6. Сильная аутентификация (Public Key, Одноразовый пароль и Проверка подлинности Kerberos);
7. Экспедитор (Single-Sign-On);
8. Взаимодействие (Соблюдение SSH 1.3, 1.5 и стандартов протоколов 2,0);
9. SFTP клиент и сервер поддерживают в обоих протоколов SSH1 и SSH2;
10. Сжатие данных.

Установка OpenSSH на RHEL / CentOS 5.x/6.x

Чтобы установить OpenSSH и автоматически включить OpenSSH сервер на CentOS или RHEL необходимо выполнить следующую команду:

Запускаем ssh демон:

Добавим сервис в автозапуск системы (не нужно запускать каждый раз при старте вашей ОС):

Установка OpenSSH на Fedora 15/16/17/18/19

Чтобы установить OpenSSH и автоматически включить OpenSSH сервер на Fedora 15/16/17/18/19 необходимо выполнить следующую команду:

Запустим ssh-демон для работы:

Добавим, по желанию в автозагрузку нашей ОС:

Установка OpenSSH на основе Debian / Ubuntu

Чтобы установить OpenSSH и автоматически включить OpenSSH сервер на основе Debian / Ubuntu, необходимо выполнить следующую команду:

Как войти в OpenSSH

Для входа в систему с Unix-подобной машины, нужно зайти в терминал и в командной строке и ввести:

Настройка сервера OpenSSH

Если вы хотели бы настроить OpenSSH сервер то нужно отредактировать файл конфигурации OpenSSH /etc/ssh/sshd_config .
Есть несколько вариантов, OpenSSH вы можете быть заинтересованы в:
Порт 22 (Port 22).
По умолчанию SSHD прослушивает порт 22 для прослушивания входящих соединений SSH. Изменяя SSH порт по умолчанию, вы можете быть в состоянии предотвратить различные автоматизированные атаки от хакеров.
PermitRootLogin no
Опция PermitRootLogin говорит, может ли суперпользователь войти в систему через SSH.
AllowUsers user1 user2
С помощью опции AllowUsers можно выборочно отключить SSH сервис для конкретных пользователей Linux. Можно указать несколько пользователей, разделенных пробелами.
После изменения /etc/ssh/sshd_config, необходимо перезагрузить SSH сервис.

Чтобы перезапустить OpenSSH на Ubuntu или Debian:

Чтобы перезапустить OpenSSH на CentOS, Fedora или RHEL:

Установка и настройка OpenSSH-сервера на Linux завершена. Если нужно помочь, пишите мне ниже в комментарии и я вам помогу.

Источник

Как настроить ssh fedora

CentOS / Fedora — Установка и конфигурирование OpenSSH

По умолчанию в SSH уже установлен и запущен в системе, для десктопных версий Fedora по умолчанию SSH выключен.

Включение SSH сервиса

Здесь все достаточно просто, включить:

Проверить добавлен ли сервис в firewalld:

Где ssh — разрешенный 22/tcp порт, в крайнем случае порт или сервис можно добавить руками:

Все, SSH готов к работе.

Дополнительное конфигурирование

Настройки расположены в конфигурационном файле sshd_config:

Далее опционально можно настроить некоторые параметры, например установить запрет входа root’а по SSH:

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

Устанавливаем нестандартный порт для SSH:

Указать явно протокол:

Добавление исключений для firewalld / iptables

Добавляем исключения в Firewalld:

iptables -A INPUT -p tcp -m tcp —dport 2345 -j ACCEPT
service iptables save
service iptables reload

Примечание: если включен SELinux то необходимо добавить так же исключение для порта:

Если возникает ошибка: semanage command not found, необходимо установить policycoreutils-python — yum install policycoreutils-python

Смотрим контекст портов:

Сохраняем и закрываем файл, производим перезапуск сервиса:

Пробуем подключиться по SSH:

Так же может оказаться полезной статья о увеличении времени жизни сессии SSH

Установка — для старых версий CentOS

Установка необходимых компонент:

Проверка порта по умолчанию:

Доп инфо

Мой скрипт, который автоматически, в базовом варианте, настраивает некоторые параметры безопасности:

Источник

Читайте также:  Ноутбук lenovo ideapad s145 не работает тачпад
Оцените статью