- Использование смарт-карт
- Возможные проблемы при использовании
- Ссылки
- Полное руководство по настройке SSH в Ubuntu
- Основы SSH
- Настройка SSH-сервера в Ubuntu
- Шаг 1. Установите необходимые пакеты
- Шаг 2: Проверка статуса сервера
- Шаг 3. Разрешение SSH через брандмауэр
- Подключение к удаленной системе с вашего локального компьютера
- Закрытие SSH-соединения
- Остановка и отключение SSH в Ubuntu
- Другие клиенты SSH
- Заключение
Использование смарт-карт
1. Создание сертификата и экспорт открытого ключа, а также клиентская часть на Windows + Putty SC описано на сайте: http://habrahabr.ru/post/88540/ Описанное там дополнение Key Manager доступно только в старых версиях Firefox. Проверено на версии 3.5 для Windows. Прямая ссылка на дополнение: https://addons.mozilla.org/ru/firefox/addon/key-manager/
2. Подготовка сервера. Вам необходимо убедиться что в конфигурации sshd разрешена аутентификация при помощи публичных ключей. Для этого необходимо в файле «sshd_config» указать значение параметра «PubkeyAuthentication» в «yes». Затем в файл «~/.ssh/authorized_keys» добавляем наш публичный ключ полученный ранее (одной строкой). Обратите внимание, файл «.ssh/authorized_keys» находится в домашнем каталоге того пользователя, который потом будет логиниться по публичному ключу.
3. Клиентская часть на Linux. Потребуется пересборка пакета OpenSSH без параметров. Рекомендуется только указать префиксы каталогов, например –prefix=/usr. Также следует учесть, что файлы конфигов будут в /usr/etc. Перед началом необходимы пакеты: opensc-lite-devel, zlib-devel, openssl-devel. Устанавливаем драйвер смарт-карты. Для удобства в конфиге ssh_config (не путать с sshd_config) указать путь к библиотеке pkcs: PKCS11Provider=
4. На клиенте запускаем ssh user@host Если смарт-карта (токен) подключена, будет запрошен пароль и выполнен вход в сессию SSH .
Возможные проблемы при использовании
Привычная комбинация клавиш Ctrl + S , используемая во многих редакторах для сохранения исправлений, при работе в терминале с ssh-cервером приведёт к выполнению команды XOFF что внешне напоминает зависание сессии. Однако это не так. Сервер продолжает принимать вводимые символы и команды, но не выводит это на экран. Что бы выйти из такого затруднительного положения достаточно применить комбинацию Ctrl + Q , тем самым включив режим XON обратно.
Ссылки
Эта статья не окончена. Пожалуйста, если вы располагаете соответствующими знаниями и небольшим количеством свободного времени, попробуйте улучшить эту статью.
Описание различных директив см. выше в примере sshd_config , ниже приведены только некоторые, самые интересные директивы
Т. е. user1 может быть прописан как у себя — в файле /home/user1/.ssh/keys) так и у другого пользователя, что позволит ему выполнять со своего компьютера вход как «под собой», так и под «другим»
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Полное руководство по настройке SSH в Ubuntu
В наши дни SSH стал методом по умолчанию для доступа к удаленному серверу Linux.
SSH расшифровывается как Secure Shell и представляет собой мощный, эффективный и популярный сетевой протокол, используемый для удаленной связи между двумя компьютерами. И давайте не будем забывать о защищенной части его имени; SSH шифрует весь трафик для предотвращения таких атак, как угон и подслушивание, предлагая различные методы аутентификации и множество вариантов конфигурации.
В этом руководстве для начинающих вы узнаете:
- Основная концепция SSH
- Настройка SSH-сервера (в системе, к которой вы хотите получить удаленный доступ)
- Подключение к удаленному серверу через SSH с клиентской машины (вашего персонального компьютера)
Основы SSH
Прежде чем вы увидите какой-либо процесс настройки, будет лучше пройти через базовую концепцию SSH.
Протокол SSH основан на архитектуре сервер-клиент. «Сервер» позволяет «клиенту» подключаться по каналу связи. Этот канал зашифрован, и обмен регулируется использованием открытых и закрытых ключей SSH.
OpenSSH — один из самых популярных инструментов с открытым исходным кодом, который обеспечивает функциональность SSH в Linux, BSD и Windows.
Для успешной настройки SSH вам необходимо:
- Установите компоненты сервера SSH на машине, которая действует как сервер. Это обеспечивается пакетом openssh-server.
- Установите клиентский компонент SSH на машину, с которой вы хотите подключиться к удаленному серверу. Это обеспечивается пакетом openssh-client, и с ним предустановлено большинство дистрибутивов Linux и BSD.
Важно различать сервер и клиент. Возможно, вы не захотите, чтобы ваш персональный компьютер работал как SSH-сервер, если у вас нет веских причин, по которым вы хотите, чтобы другие подключались к вашей системе через SSH.
Как правило, у вас есть выделенная система, работающая в качестве сервера. Например, Raspberry Pi с сервером Ubuntu. Вы включаете SSH на Raspberry Pi, чтобы вы могли контролировать и управлять устройством со своего основного персонального компьютера, используя SSH в терминале.
Обладая этой информацией, давайте посмотрим, как настроить SSH-сервер в Ubuntu.
Настройка SSH-сервера в Ubuntu
Настроить SSH не сложно, для этого нужно всего несколько шагов:
- Пользователь с привилегиями sudo на серверной машине
- Подключение к Интернету для загрузки необходимых пакетов.
Опять же, установка SSH-сервера должна выполняться в системе, которую вы хотите использовать как сервер и к которой вы хотите подключиться удаленно через SSH.
Шаг 1. Установите необходимые пакеты
Начнем с открытия окна терминала и ввода необходимых команд.
Не забудьте обновить свою систему Ubuntu перед установкой новых пакетов или программного обеспечения, чтобы убедиться, что вы используете последние версии.
sudo apt update && sudo apt upgrade
Пакет, необходимый для запуска SSH-сервера, предоставляется компонентом openssh-server из OpenSSH:
sudo apt install openssh-server
Шаг 2: Проверка статуса сервера
После завершения загрузки и установки пакета служба SSH должна быть уже запущена, но для уверенности мы проверим ее с помощью:
Вы также можете использовать команды systemd:
sudo systemctl status ssh
Вы должны увидеть что-то подобное с выделенным словом Active. Нажмите q, чтобы вернуться в командную строку.
Если в вашем случае сервис не работает, вам нужно будет активировать его следующим образом:
sudo systemctl enable --now ssh
Шаг 3. Разрешение SSH через брандмауэр
Ubuntu поставляется с утилитой межсетевого экрана под названием UFW (UncomplicatedFirewall), которая представляет собой интерфейс для iptables, который, в свою очередь, управляет сетевыми правилами. Если брандмауэр активен, он может помешать подключению к вашему SSH-серверу.
Чтобы настроить UFW так, чтобы он разрешал требуемый доступ, вам необходимо выполнить следующую команду:
Статус UFW можно проверить, запустив sudo ufw status.
На данном этапе наш SSH-сервер запущен и просто ожидает соединения от клиента.
Подключение к удаленной системе с вашего локального компьютера
В вашей локальной системе Linux уже должен быть установлен клиент SSH. Если нет, вы всегда можете установить его, используя следующую команду в Ubuntu:
sudo apt install openssh-client
Чтобы подключиться к вашей системе Ubuntu, вам необходимо знать IP-адрес компьютера и использовать команду ssh, например:
Измените username на своего фактического пользователя в системе и address на IP-адрес вашего сервера Ubuntu.
Если вы не знаете IP-адрес своего компьютера, вы можете ввести ip a в терминале сервера и проверить вывод. У вас должно получиться что-то вроде этого:
Как видно здесь, мой IP-адрес 192.168.2.54. Давайте попробуем подключиться, используя формат имя username@adress.
При первом подключении к серверу SSH он запросит разрешение на добавление хоста. Введите да и нажмите Enter, чтобы продолжить.
Сразу же SSH сообщает вам, что хост был добавлен навсегда, а затем запрашивает пароль, назначенный для имени пользователя. Введите пароль и еще раз нажмите Enter.
И вуаля! Вы войдете в свою систему Ubuntu удаленно!
Теперь вы можете работать в терминале удаленной системы в обычном режиме.
Закрытие SSH-соединения
Чтобы закрыть соединение, вам просто нужно ввести exit, и оно сразу же закроет его, не запрашивая подтверждения.
Остановка и отключение SSH в Ubuntu
Если вы хотите остановить службу SSH, вам понадобится эта команда:
Это остановит службу, пока вы ее не перезапустите или пока система не будет перезагружена. Чтобы перезапустить его, введите:
Теперь, если вы хотите отключить его запуск во время загрузки системы, используйте это:
sudo systemctl disable ssh
Это не остановит работу службы во время текущего сеанса, а только загрузку во время запуска. Если вы хотите, чтобы он снова запускался во время загрузки системы, введите:
sudo systemctl enable ssh
Другие клиенты SSH
Инструмент ssh включен в большинство систем * nix, от Linux до macOS, но это не единственные существующие варианты, вот пара клиентов, которые можно использовать из других операционных систем:
- PuTTY — это бесплатный SSH-клиент для Windows с открытым исходным кодом. Он полон функций и очень прост в использовании. Если вы подключаетесь к своей машине Ubuntu со станции Windows, PuTTY — отличный вариант.
- JuiceSSH — потрясающий инструмент для пользователей Android. Если вы в пути и вам нужен мобильный клиент для подключения к вашей системе Ubuntu, я настоятельно рекомендую попробовать JuiceSSH. Он существует уже почти 10 лет, и его можно использовать бесплатно.
- И, наконец, Termius доступен для Linux, Windows, macOS, iOS и Android. У него есть бесплатная версия, а также несколько дополнительных опций. Если у вас много серверов и вы работаете с командами, использующими общие соединения, Termius — хороший вариант для вас.
Заключение
С помощью этих инструкций вы можете настроить SSH в качестве серверной службы в системе Ubuntu, чтобы иметь возможность удаленно и безопасно подключаться к вашему компьютеру для работы с командной строкой и выполнения любых необходимых задач.