- Установка и настройка сервера SSH в Linux
- Установка пакетов SSH
- Настройка SSH
- Что такое SSH сервер для чего он нужен, установка и настройка в Linux Astra и Windows
- Как установить сервер SSH в Astra Linux?
- Как настроить SSH подключение на сервере Linux Astra?
- Linux-подключение по SSH через консоль по порту
- Встроенный SSH клиент для подключения из Windows 10 к SSH серверу Астра Линукс
- Как пользоваться SSH в Астра Линукс Орел в примерах
- Как пользоваться SSH ключом для подключения без пароля по сертификату?
- Как скопировать файл по SSH на Астра линукс?
- Как запустить графическое приложение через SSH в Astra Linux?
- Передача файлов через SSH в Астра Линукс
- Ошибка X11 forwarding request failed on channel 0 при подключении к SSH серверу — как исправить?
Установка и настройка сервера SSH в Linux
Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.
Установка пакетов SSH
Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu
После чего начнется процесс установки
Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.
Настройка SSH
Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой
В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра
Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:
Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:
Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл etc/.ssh/authorized_keys), так и отдельные для каждого пользователя ключи. Второй вариант предпочтительнее в силу удобства администрирования и повышения безопасности:
AuthorizedKeysFile etc/ssh/authorized_keys # Для общего файла
AuthorizedKeysFile %h/.ssh/authorized_keys # Файл -> пользователь
Во втором варианте благодаря шаблону автоподстановки с маской «%h» будет использоваться домашний каталог пользователя.
Важно также отключать парольный доступ:
Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:
Для указания разрешённых или запрещённых пользователей и групп служат директивы DenyUsers, AllowUsers, DenyGroups, и AllowGroups. Значениями для них являются списки имён, разделяемых пробелами, например:
Следует также отключать root-доступ:
Иногда, когда следует задавать мультисерверную конфигурацию, очень удобно использовать алиасы (Aliases), что позволяет настроить сразу несколько режимов доступа (с разными хостами, портами и т. д.) и использовать их, указывая при этом конкретный алиас:
Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в
/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:
Для применения сделанных настроек необходим перезапуск SSH-сервера:
Настройка и использование клиента SSH
Для подключения по к серверу используется команда:
где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:
При этом утилита ssh запросит (в зависимости от настроек сервера) логин, пароль или парольную фразу для разблокировки приватного ключа пользователя.
В случае авторизации по ключу, должна быть предварительно сгенерирована пара SSH-ключей — открытый, который хранится на стороне сервера, обычно в файле .ssh/authorized_keys в домашнем каталоге пользователя, и закрытый — используется для авторизации клиента и хранится, как правило, в каталоге .ssh/ домашней директории пользователя. Открытый ключ представляет собой «цифровой слепок» закрытого ключа благодаря которому сервер «знает», кто «свой», а кто «чужой».
Для генерации ключей используется утилита ssh-keygen:
Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог
/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:
Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Что такое SSH сервер для чего он нужен, установка и настройка в Linux Astra и Windows
Друзья, привет. Продолжаем изучать Linux и сегодня познакомимся с одним из эффективных инструментов администрирования операционной системы, который позволяет удаленно подключатся и управлять сервером или (станцией с линукс) через командную строку (терминал).
Протокол SSH в сочетании с другими инструментами удаленного управления позволит гибко и безопасно получать доступ и поэтому необходимо уметь им пользоваться.
Secure Shell протокол обладает широкими возможностями и работает не только в Linux, но и с Windows несмотря на отсутствие графического интерфейса. Давайте SSH начнем изучать.
Как установить сервер SSH в Astra Linux?
Для того чтобы подключатся к нужной машине на ней должен быть установлен пакет SSH сервер. Это свободное программное обеспечение входит в состав репозитория и мы устанавливаем его через терминал командой:
Клиентская часть которая к нему подключается уже по умолчанию установлена в операционной системе Astra Linux. В процессе установки сервера будет создан конфигурационный файл сервера, который нужно сначала настроить.Заодно узнаем возможности программы.
Как настроить SSH подключение на сервере Linux Astra?
Конфигурационный файл сервера находится в файловой системе /etc/ssh/ssh_config. Его содержимое закоментировано знаком #. Чтобы включить ту или иную настройку убираем знак в нужной строке и меняем параметры.
- ForwardX11 yes разрешает запуск на удаленном сервере программ в привычном визуальном режиме (менеджер файлов, текстовый редактор kate, браузер и др);
- Port 22 указывает стандартный номер порта, по которому происходит подключение. Номер 22 входит в список общеизвестных портов и поэтому знаком злоумышленникам. Обязательно меняем номер порта на другой.
- Protocol 2 указывает номер версии протокола; если снять комментарий будет поддерживаться только вторая версия.
- PermitLocalCommand no настройка отвечающая за SSH подключение в режиме root доступа, отключена по умолчанию. Включаем; настройки сделанные в файле сохраняем.
Остальные настройки мы еще изучим. После редактирования нужно перезапустить службы SSH:
Linux-подключение по SSH через консоль по порту
Для подключение через терминал по стандартному порту (22) нужно знать имя пользователя удаленного компьютера и его IP адрес:
Если порт нестандартный, то дополнительно указываем номер порта:
При первом подключении система запросит добавить компьютер в список доверенных, соглашаемся:
Вводим логин и пароль пользователя на удаленном компьютере.
Встроенный SSH клиент для подключения из Windows 10 к SSH серверу Астра Линукс
Windows 10 имеет в составе своего дистрибутива встроенный open-ssh клиент, но он по умолчанию возможно отключен. Чтобы проверить, нужно зайти в «Параметры» — «Приложения»-«Дополнительные возможности»:
В списке должен быть наш open ssh клиент:
При желании можно в Windows 10 установить и SSH сервер. Он есть в «Добавить дополнительные компоненты.» Просто выбираем для установки. Чтобы подключится по ssh вызываем командную строку (Win+R) и прямо в ней вводим:
Если все хорошо, сервер откликнется вопросом о добавлении клиента в список разрешенных:
Соглашаемся (yes) далее вводим пароль: пользователя:
Всё, мы зашли на удаленный компьютер с Linux из разных операционных систем. SSH-подключение установлено, теперь изучим — как использовать возможности, которые оно предоставляет.
Источник
Как пользоваться SSH в Астра Линукс Орел в примерах
Приветствую на fast-wolker.ru! SSH подключение — универсальное средство удаленного управления компьютером LINUX и без него не обойтись. Оно применяется как само по себе (копирование файлов, настройка файлов конфигурации, выполнение сценариев, запуск терминала) так и служит базой для применения других программ для удаленного управления и подключений.
Подключение по SSH очень часто применяется в самых разных ситуациях. Потому как основное его назначение — обеспечить безопасное подключение. Грамотная настройка SSH позволит другим программам работать по безопасному протоколу.
После установки SSH сервера и успешного подключения уже можно работать удаленно. Запустим SSH
ssh@имя_пользователя удаленного компьютера ай_ пи_ адрес удаленного компьютера
Напрмер, для копирования, редактирования файлов можно запустить файловый менеджер Midhight Commander с правави суперпользователя удаленного компьютера:
Хоть какая -никакая графика, и легкие операции с файлами (вплоть до установки прав и запуска на исполнение):
Старый добрый файловый менеджер Far Manager в линуксе по прежнему актуален и вполне способен облегчить работу с файлами и экономить время.
После завершения операции закрываем MC командой exit и продолжаем ввод команд.
Как пользоваться SSH ключом для подключения без пароля по сертификату?
Очень полезной опцией является подключение по ключу. Суть — на компьютере-клиенте генерируется сертификат безопасности, открытую часть которого будем копировать на сервер.
После чего подключение к серверу по SSH будет происходить без ввода пароля. Сначала нужно сгенерировать ключ на компьютере-клиенте. Закрываем текущее подключение SSH командой:
и генерим сертификат RSA командой:
ssh-keygen -t ds
- ключи (открытый и закрытый) будет сохранен по умолчанию в папке ./SSH текущего пользователя с именем по умолчанию.
- имя ключа не меняем СРАЗУ ЖМЕМ ENTER;
- подтверждаем пароль ключа (пустой — жмем ENTER;
- сгенерируется случайный ключ и будет выведен отпечаток;
Теперь нужно скопировать открытую часть на наш сервер. Но сначала нужно создать для него каталог SSH, тоже в корневой папке текущего пользователя. Закрываем сессию SSH и вводим команду:
ssh superuser@IPадрес mkdir .ssh
- где mkdir — команда на создание каталога;
- .ssh создаваемая папка.
Далее, добавим ключ на сервер :
/.ssh/admin.pub superuser@ай пи адрес
Вводим пароль, подтверждаем добавление ключа в список на сервере. Если все хорошо, то при последующей попытке соединения пароль запрашиваться не будет. А в в домашней папке ./ssh на сервере появится файл
… в который добавился наш ключ.
Как скопировать файл по SSH на Астра линукс?
Следующий навык копирование файла с компьютера клиента на сервер. Копирование файла осуществляется утилитой scp входящей в состав SSH (предварительно закрываем соединение SSH):
scp /home/superuser/.ssh/копируемый файл superuser@ай-пи адрес удаленного компьютера:.ssh
- где /home/superuser/.ssh/копируемый файл путь к файлу на компьютере-клиенте;
- :.ssh папка назначения, которую мы создали на сервере SSH или другая.
Как уже стало ясно, не обязательно устанавливать сессию для выполнения некоторых команд по SSH. Например создание каталога:
Можно копировать файлы как на удаленный компьютер так и с него, при этом залогинившись к нему или при остуствии соединения:
Для копирования файла с B на A когда подключены к B:
scp /путь к файлу имя пользователя@а:/путь к файлу
Копирование файла с B на A когда подключены к A:
scp имяпользователя@b:/путь к файлу /путь к файлу
Как запустить графическое приложение через SSH в Astra Linux?
Для редактирования файлов например можно использовать тот же встроенный Midnight Commander. Или использовать встроенный текстовый редактор Nano. Но через SSH гораздо привычнее и удобнее использовать приложения, работающие в графической среде X11.
Например, текстовый редактор в установленной сессии запускаем командой:
Файловый менеджер для рабочего стола запускаем:
Но не все приложения таким образом удобно запускать. Хорошо бы вывести рабочий стол сервера на на экран клиентской машины. Об этом будет материал в другой статье.
Передача файлов через SSH в Астра Линукс
Одной из замечательных фишек Линукс является «навык» перенаправления данных вводимых с клавиатуры в текстовый файл. Или чтение содержимого файла (или каталогов) и передача в другой файл, на другом компьютере, или экран монитора. По сути это не копирование файла а создание потока данных и сохранение их в нужном месте под именем.
Делается это с помощью команды cat, По умолчанию она выводит данные на экран, но знаками > (больше) или cat /файл/на/локальной/машине | ssh имяпользоватлея@IPадрес «cat > /файл/на/удаленной/машине»
Знак | (труба) говорит о том, что прочитанные данные передаются на удаленный компьютер. В кавычках указано направление файл.
И обратная ситуация — нужно передать файл с удаленной машины на локальную:
ssh имяпользователя@айпиадрес «cat > /путь/к/файлу/на/удаленной/машине» > можно добавлять записи в конец файла и таким образом писать сценарии из последовательностей команд.Но самое востребованное направление SSH это создание на его основе безопасного туннеля, по которому возможно подключение к серверу других программ.
Ошибка X11 forwarding request failed on channel 0 при подключении к SSH серверу — как исправить?
Проверить настройки файла sshd.config по пути /etc/ssh/sshd.config
Строка X11UserLocalHost no должна быть раскоментирована и иметь значение «no».
После сохранения файла перезапускаем службу SSH на сервере:
sudo service sshd restart
Аналогичные настройки нужно проверить и на клиентской машине.Закрыть сессию и перезайти в SSH заново.
Источник