Linux ssh new user

Использование смарт-карт

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 обратно.

Источник

Setting up a new user using SSH

I followed the tutorial for setting up myself with SSH login which worked fine. I have another user I need to add as well but I am not sure how to go about doing that. I have his public key and added it to the droplet on creation. Droplet is running ubuntu 18.04. Any help would be greatly appreciated. I’ve looked through several other tutorials and documentation for this as well but I just can’t seem to find exactly what I am looking for. I don’t think I can set him up the same way I set it up for myself.

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

You’ll need to create a new user and add the SSH keys there. I normally set and create their home directory at the same time.

Create Home Directory + .ssh Directory

Читайте также:  Hollow knight для linux

Create Authorized Keys File

Create User + Set Home Directory

Add User to sudo Group

Set Permissions

Set Password on User

If you want to be able to log in as the user without an SSH key, setting a password will allow that, as long as PasswordAuthentication is enabled in /etc/ssh/sshd_config .

You can check the users home directory by running:

… while logged in as the user. If you echo $PWD , it’ll give you the current path to the directory that you’re currently in. So if I ran cd /home , running:

… will give me /home . If my home directory is /home/mynewuser , then $HOME will give me that directory :-).

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

Источник

Основы использования протокола SSH

SSH — (Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование Порты TCP- соединений (например, для передачи файлов). Далее рассматривается OpenSSH (демон sshd) альтернатива проприетарного ПО от SSH Communications Security. OpenSSH (открытая безопасная оболочка) — набор программ, предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH.

Какой порт у SSH? SSH сервер обычно прослушивает соединения на TCP -порту 22.

Настройка SSH доступа к вашему серверу

Перед любыми действиями с настройками SSH держите второе окно с открытой SSH-сессией, так как при ошибочных действиях повторно подключиться к серверу вы сможете только через VNC-клиент (если вам хостер его предоставил).

Шаг 1: Логинемся под пользователем root

И делаем свое черное дело список здесь список здесь.

Потом вы подумали, что это очень легко работать под правами root, нужно усложнить себе работу и ввести новую сущность — бесправного пользователя и обязательно дать ему имя как ваш ник в Одноглазиках (сорри, вы продвинутые тогда берите из VK)! Чтобы когда вы в логах (/var/log/auth.log) увидите как хакеры пробуют взломать вашего демона SSH и не догадались о вашем нике из Одноглазиков — это победа!! Вы можете гордиться вашим ником в социальных сетях — его никто не знает. И значит можно пароль поставить как на домашний роутер admin. Я шутил!

По делу: не работайте от root, пожалуйста!

Пример подключения к удаленному нестандартному серверу, который настраивал нестандартный админ, для этого используем ключ -p задания порта и ключ -i для задания ssh ключа (в случае беспарольной аутентификации):

Шаг 2: Создание нового пользователя SSH

Cоздадим пользователя с правами которого будем работать с сервером, для примера создается новый пользователь с именем remuserbak, но вы должны заменить его на имя пользователя, которое вам нравится:

Вам будет задано несколько вопросов, начиная с пароля учетной записи.

Введите надежный пароль и, при желании, введите любую дополнительную информацию. Это не обязательно, и вы можете просто нажать ENTER в любом поле, которое хотите пропустить.

Шаг 3: Предоставление административных привилегий

На втором шаге был создан пользователь remuserbak, но администрировать с ним сервер нельзя, ибо нет у него прав таких! Придется дать ему возможность становится рутом, как говорится с чего начали — тем и закончили.

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

Читайте также:  Kyocera ошибка соединения 0x4803 kyocera

Чтобы добавить эти привилегии нашему новому пользователю, нам нужно добавить пользователя в группу sudo. По умолчанию пользователям, которые являются членами группы sudo, разрешено использовать команду sudo.

От имени пользователя root выполните команду usermod, чтобы добавить нового пользователя в группу sudo (замените имя пользователя своим новым пользователем:

Проверим командой id добавился ли пользователь в группу sudo

Теперь, когда вы войдя в систему как обычный пользователь remuserbak, можете ввести sudo перед командами, чтобы выполнять действия с привилегиями суперпользователя (root).

Шаг 4: Защита демона sshd

После установки сервера SSH, первым делом исправить файл sshd_config. В нем запретить удалённый доступ пользователя root и разрешить доступ только для доверенных пользователей. Настраиваем от непривилегированного пользователя, используя sudo.

Первое действие перед правкой любого файла — это бекап этого файла, делаем:

Посмотреть текущее настройки демона ssh

Отключение SSH-логин для пользователя root, используя параметр PermitRootLogin no.

После внесения изменений в sshd_config — перегружаем демона SSH.

При таком способе перезагрузки демона SSH текущее соединение не прерывается. Теперь при попытке залогинеться с пользователем root, в логах вы увидите запись:

Всё, у вас демон SSH минимально защищен!

Дополнительные параметры sshd_config, которые можно менять, под ваши задачи и условия, но не делайте это без нужды и предварительно изучите руководство man 5 sshd_config

Шаг 5: Расширенная защита демона sshd

Дополнительно о SSH

Зачем файл sshrc

man sshd раздел SSHRC рассказывает об использовании файла /etc/ssh/sshrc. Если этот файл создан с правами на выполнение, то он будет запускать после успешного логина пользователя, но до запуска оболочки пользователя, например Основы BASH скрипты, циклы, горячие клавиши.

Пример настройки безпарольной авторизации multiple ssh private keys

Про безпарольную авторизацию в ssh с помощью ключей не пишет разве что ленивый. Зачастую бывает нужно использовать разные ssh-ключи для различных групп серверов/хостов. Например по ролям, территориальному признаку, логину … ну и вообще..

Набирать каждый раз полный путь к файлу с ключем, а главное помнить в каких случаях какой ключ нужен — лень. Да, лень двигатель прогресса: видел как люди пишут алиасы на такие ssh-команды (сам такой), а еще пишут про ssh-agent. но в этом типсе пример работы с несколькими ключами, и распределение каким ключём на какой хост ходить.

Итак: делаем ssh-ключи для беспарольной авторизации.

Мы обзавелись ключами, раскидали их публичные части (pub) в authorized_keys соответствующих хостов.

Теперь определим с каким ключем куда ходить:

с содержимым, например

это подтянет соотвeвующие конфиги.Конечно, при подключении к хосту, который не определен в

/.ssh/config — будет по умолчанию, или стандартные ключи

/.ssh/id_rsa, или логин/пароль если иначе не прописано в конфиге.

ssh-keygen

Утилита ssh-keygen служит для генерация, преобразование и управление ключами. По умолчанию генерирует RSA ключ (ключ -t позволяет задать тип ключа). При генерации запрашивается парольная фраза для 3DES (рекомендуется 10-30 символов). Забытую парольную фразу восстановить невозможно. Число бит по умолчанию — 1024 (минимум — 512 бит, увеличение длины ключа замедляет работу). Комментарий по умолчанию — имя-пользователя@имя-хоста. Имя файла для хранения публичного ключа образуется из имени файла для частного ключа добавлением суффикса «.pub». Ключ хоста должен иметь пустую парольную фразу.

Обычно каждый пользователь, желающий использовать SSH с RSA или DSA аутентификацией, запускает его единожды для создания аутентификационного ключа в $HOME/.ssh/identity, $HOME/.ssh/id_dsa или $HOME/.ssh/id_rsa.

Читайте также:  Max opened files linux

Обычно эта программа генерирует ключи и спрашивает название файла в котором надо сохранить приватный ключ. Публичный ключ будет сохранен в файле с тем же именем, только к нему будет добавлено расширение «.pub». Программа также спросит у вас ключевую фразу. Ключевая фраза может быть пустой, это означает, что ключевая фраза не используется (ключ машины должен иметь пустую ключевую фразу), или это может быть строка произвольной длины. Ключевая фраза схожа с паролем, за исключением того, что ключевая фраза может состоять из набора слов, знаков препинания, цифр, пробелов или любого набора символов, какой вы пожелаете. Хорошими считаются ключевые фразы из 10-30 символов, не являющиеся простыми предложениями или легко угадываемыми (английская проза имеет только 1-2 бита энтропии на символ и обеспечивает очень плохие ключевые фразы) и содержать чередование букв, цифр и не буквенно-цифровых, набранных в верхнем и нижнем регистре, знаков. Ключевая фраза может быть позднее изменена при помощи опции -p.

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

Для RSA1-ключей в файле ключа имеется поле комментария, который служит только для удобства пользователя, чтобы было проще идентифицировать ключ. Комментарий может вам сообщить для чего этот ключ или чем он полезен. Комментарий инициализируется при создании для «user@host», но может быть изменен при помощи опции -c.

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

Пример использование ssh-keygen для беспарольной аутентификации

Вместо использования паролей, с помощью ssh-keygen можно создать ключи DSA или RSA, которыми пользователи могут аутентифицироваться. Ключи RSA являются наиболее широко используемыми и создаются по умолчанию. Но я для примера использую ключу для создания DSA, если запустить ssh-keygen будет создан RSA.

Введите нижеприведённую команду и сгенерируйте ключ, на все вопросы просто жмите Enter. Если при генерации ключей был использован пароль (вы что-то написали на вопрос Enter passphrase (empty for no passphrase)), каждый раз для при использовании приватного ключа он будет запрашиваться у пользователя.

ssh-keygen создаст пару публичного и приватного ключей, используемых для аутентификации. Приватный ключ сохраняется в

/.ssh/id_rsa, а публичный в

/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).

Для включения аутентификации по ключам, публичный ключ должен быть помещен в файл

/.ssh/authorized_keys на удаленном компьютере, например так:

или второй способ копирования более простой и правильный, но не передающий в отличии от первого способа, что происходит в реальности

Это позволяет соединяться с удаленным компьютером с помощью SSH-ключей вместо паролей.

Пример. Скрипт. Копирование файла с удаленного компьютера.

Задача. На удаленном компьютере Anacron запускает скрипт для резервирования БД PostgreSQL один раз в сутки. Нужно создать скрипт который будет копировать удаленные backup-копии на локальный сервер бекапов. Скрипт запустим при помощи Использование планировщика cron в Linux.

Поместим публичный ключ файл

/.ssh/authorized_keys на удаленном компьютере.

Скрипт:

Пример. ssh-keygen. Ключи для Azure

Создание ssh ключей для виртуальной Linux в Microsoft Azure. Для создания и использования ключей SSH с Azure выполните описанные ниже действия.

Будут созданы два ключа azuressh и публичный azuressh.pub. Чтобы без ошибок скопировать содержимое azuressh.pub и вставить его в поле при создании VE, используйте ssh-keygen. Весь вывод, без исключений нужно копировать.

Не забудьте настроить файл config, для большего удобства.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector