- как дать shell и SSH новому юзеру?
- Управление пользователями
- Содержание
- Управление пользователями
- Где суперпользователь?
- Добавление и удаление пользователей
- Безопасность профиля пользователя
- Политика паролей
- Минимальная длина пароля
- Время жизни пароля
- Иные соображения безопасности
- Доступ по SSH заблокированными пользователями
- Аутентификация по внешней базе данных
- FTP-учетные записи — создание по SSH
- Создайте нового пользователя SSH на сервере Ubuntu
- 7 ответов
как дать shell и SSH новому юзеру?
Всем привет. В linux серверах я новичок. Есть сервер debian 6. кроме рута пользователей не дали. Создал нового командой adduser. теперь вытаюсь под ним зайти. при подключении просто жду 15 секунд до сообщения о лимите времени подключения. Доступ на сервер осуществляется по SSH. Подсказали что нужно дать юзеру shell и ssh. Подскажите пожалуйста как это сделать? Заранее спасибо.
как именно создал пользователя?
как именно пытаешься зайти?
что в /etc/ssh/sshd_config?
что показывает ssh -vvv user@server?
пользователя создал из под рута командой adduser. никаких параметров не указывал, только adduser newuser. система сказала указать пароль — я указал.
пытаюсь из WinSCP зайти. делаю все так же как с рутом, только пользователя указываю от нового. в итоге он даже не пытается ничего сделать и пароль не спрашивает. просто через 15 секунд пишет что не получается.
в /etc/ssh/sshd_config много всего, что именно там посмотреть, а то копировать суда слишком много будет.
ssh -vvv user@server показывает очень много информации, спросил меня продолжить подключение пли нет. я продолжил, но он выдал:
Warning: Permanently added ‘zebra819,xxx.xxx.xxx.xx’ (RSA) to the list of known hosts. debug2: bits set: 521/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent Write failed: Broken pipe
(ip сервера я на «х» заменил, для конфиденциальности =))
а пароль задал пользователю при создании?
passwd user
И покажи
grep Password /etc/ssh/sshd_config
а ты руками /etc/passwd не правил? Там есть запись для пользователя вида /bin/bash|/bin/sh|/bin/csh?
# grep Password /etc/ssh/sshd_config PermitEmptyPasswords no #PasswordAuthentication yes # PasswordAuthentication. Depending on your PAM configuration, # PAM authentication, then enable this but set PasswordAuthentication
Когда вызвал команду adduser система сама попросила ввести новый пароль для юзера. 2 раза попросила.
Источник
Управление пользователями
Содержание
Управление пользователями
Управление пользователями является важной частью безопасности системы. Неэффективные пользователи и управление привилегиями часто приводят множество систем к компрометации. Поэтому важно чтобы вы понимали как защитить ваш сервер с помощью простых и эффективных методик управления пользовательскими учетными записями.
Где суперпользователь?
Разработчики Ubuntu приняли сознательное решение заблокировать административную корневую учетную запись (root) по умолчанию во всех установках Ubuntu. Это не означает, что учетная запись root удалена или к ней нет доступа. Ей просто присвоен пароль, который не совпадает ни с одним возможным шифрованным значением, соответственно, ее невозможно использовать для входа напрямую.
Вместо этого поощряется применение пользователями инструмента с именем sudo для переноса административных обязанностей. Sudo позволяет авторизованным пользователям временно повышать их привилегии, используя их собственный пароль вместо знания пароля, присвоенного суперпользователю. Эта простая и к тому же эффективная методика обеспечивает ответственность для всех действий пользователей и дает административный раздельный контроль над тем, какие действия может выполнять пользователь с указанными привилегиями.
1. Если по какой-то причине вы хотите разрешить учетную запись суперпользователя, просто установите ей пароль:
Sudo запросит ваш пароль, а затем предложит установить новый пароль для root как показано ниже:
2. Для блокирования учетной записи root используйте следующий синтаксис passwd:
3. Вы можете прочитать больше по sudo вызвав ее man страницу:
По умолчанию изначальный пользователь, созданный установщиком Ubuntu является членом группы «admin», которая добавлена в файл /etc/sudoers как авторизованные sudo пользователи. Если вы желаете разрешить другой учетной записи полный доступ суперпользователя через sudo, просто добавьте ее в группу admin.
Добавление и удаление пользователей
Процесс управления локальными пользователями и группами простой и мало отличается от большинства других операционных систем GNU/Linux. Ubuntu и другие дистрибутивы на основе Debian поощряют использование пакета «adduser» для управления учетными записями.
1. Для добавления учетной записи пользователя используйте следующий синтаксис и следуйте подсказкам для указания пароля и опознавательных характеристик таких как полное имя, телефон и пр.:
2. Для удаления пользователя и его первичной группы используйте следующий синтаксис:
Удаление пользователя не удаляет связанный с ним домашний каталог. Оставлено на ваше усмотрение хотите ли вы удалить каталог вручную или оставите его в соответствии с вашими политиками хранения.
Помните, что любой пользователь, добавленный позднее с теми же UID/GID, как и предыдущий, получит доступ к этому каталогу если вы не предпримете необходимых мер предосторожности.
Вы можете захотеть изменить эти значения UID/GID каталога на что-то более подходящее, как, например, значения суперпользователя и, возможно, переместить каталог для предотвращения будущих конфликтов:
3. Для временного блокирования или разблокирования используйте следующий синтаксис:
4. Для добавления или удаления персональной группы используйте, соответственно, следующий синтаксис:
5. Для добавления пользователя в группу, используйте:
Безопасность профиля пользователя
Когда создается новый пользователь, утилита adduser создает, соответственно, новый именной каталог /home/username. Профиль по умолчанию формируется по содержимому, находящемуся в каталоге /etc/skel, который включает все основы для формирования профилей.
Если ваш сервер является домашним для множества пользователей, вы должны уделять пристальное внимание правам доступа на пользовательские домашние каталоги для поддержания конфиденциальности. По умолчанию пользовательские домашние каталоги создаются с правами чтения/выполнения для всех. Это означает, что все пользователи просматривать и получать доступ к содержимому других домашних каталогов. Это может не подходить для вашего окружения.
1. Для проверки прав доступа на домашние каталоги существующих пользователей используйте такой синтаксис:
Следующий вывод показывает, что каталог /home/username имеет доступ на чтение для всех:
2. Вы можете удалить права чтения для всех, используя следующий синтаксис:
Более эффективный подход к данному вопросу будет в изменении глобальных прав доступа по умолчанию для adduser при создании домашних каталогов. Просто отредактируйте файл /etc/adduser.conf, изменив переменную DIR_MODE на что-то более подходящее, после чего все новые домашние каталоги будут получать корректные права доступа.
3. После исправления прав доступа к каталогам, используя любую из ранее упоминавшихся методик, проверьте результаты используя следующую команду:
Результат ниже показывет, что права на чтение для всех удалены:
Политика паролей
Строгая политика паролей — один из наиболее важных аспектов вашего подхода к безопасности. Много удачных прорывов безопасности использовали для атак простейший взлом (brute force) и подбор паролей по словарю против слабых паролей. Если вы намереваетесь использовать любую форму удаленного доступа с использованием вашей локальной системы паролей, убедитесь, что вы назначили адекватные минимальные требования к паролю, максимальное время жизни пароля и часто проверяете вашу систему аутентификации.
Минимальная длина пароля
По умолчанию Ubuntu требует минимальную длину пароля в 6 символов, также как и некоторые основные проверки на разброс значений. Эти параметры управляются файлом /etc/pam.d/common-password и приведены ниже:
Если вы хотите установить минимальную длину в 8 символов, измените соответствующую переменную на min=8. Изменения приведены ниже:
Время жизни пароля
При создании учетных записей пользователей вы должны создать политику минимального и максимального времени жизни пароля чтобы заставлять пользователей менять их пароли по истечении определенного времени.
1. Для простого просмотра текущего статуса учетной записи пользователя используйте следующий синтаксис:
Вывод, приведенный ниже, показывает интересные факты об учетной записи пользователя, а именно что нет никаких примененных политик:
2. Для установки этих значений просто используйте следующую команду и следуйте интерактивным подсказкам:
Далее также пример того, как можно вручную изменить явную дату истечения действия пароля (-E) на 01/31/2008 (американский вариант даты — прим. пер.), минимальный срок действия пароля (-m) на 5 дней, максимальный срок действия (-M) на 90 дней, период бездействия (-I) на 5 дней после истечения срока пароля и период предупреждений (-W) на 14 дней до истечения срока пароля.
3. Для проверки изменений используйте ту же команду, что и упоминалась выше:
Вывод команды ниже показывает новые политики, которые применяются к учетной записи:
Иные соображения безопасности
Многие приложения используют альтернативные механизмы аутентификации, которые могут быть запросто пропущены даже опытными системными администраторами. Поэтому важно понимать и контролировать как пользователи авторизуются и получают доступ к сервисам и приложениям на вашем сервере.
Доступ по SSH заблокированными пользователями
Обычное отключение/блокирование не исключает удаленного подключения пользователя к серверу, если ему предварительно была установлена аутентификация по открытому ключу RSA. Такие пользователи будут получать доступ к консольной оболочке (shell) на сервере без необходимости ввода какого-либо пароля. Не забывайте проверять пользовательские домашние каталоги на файлы, которые позволяют подобный тип авторизации по SSH , например, /home/username/.ssh/authorized_keys.
Удаление или переименование каталога .ssh/ в домашнем каталоге пользователя предотвратит дальнейшую способность аутентификации по SSH .
Аутентификация по внешней базе данных
Большинство корпоративных сетей требуют централизованной аутентификации и контроля доступа для всех системных ресурсов. Если вы настроили свой сервер для аутентификации пользователей по внешней базе данных, убедитесь, что вы отключаете учетные записи как внешние, так и локальные, таким образом вы будете уверены что откат на локальную аутентификацию невозможен.
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Источник
FTP-учетные записи — создание по SSH
Руководство по созданию и настройке ftp пользователя с помощью оболочки SSH
По-умолчанию, на сервере доступен только суперпользователь root. Подключение с данными root по протоколу FTP невозможно в целях безопасности (используется незашифрованный пароль). Если есть такая необходимость быстрой ручной настройки нового ftp пользователя при отсутствии на сервере панели управления ISPmanager, для этого нужно:
Установка proftpd (если он установлен, пропускаете):
Debian/Ubuntu
CentOS
Если сервер не запустился автоматически, для его запуска используйте:
Ограничение ftp пользователей пределами домашнего каталога
Данная статья подразумевает работу конфигурацией ProFTPd «по-умолчанию», а в этом случае пользователь может выходить за пределы своего домашнего каталога и, хотя прав на работу с другими папками у него, скорее всего, нет, но при недостаточно строгой конфигурации сервера это может представлять угрозу безопасности. Решить эту проблему можно добавив одну строку в файл proftpd.conf:
Добавить ее можно в конец файла. После сохранения, перезапустите ftp сервер:
Создание нового ftp пользователя
Обычным ftp пользователям нет необходимости иметь доступ к командной оболочке. Перед созданием новых пользователей, выполните команду:
имя_пользователя нужно заменить на не занятое имя и соответствующую группу, назначили и создали ключ -m можно опустить, если каталог уже существует домашний каталог /home/имя_папки и выбрали /bin/false** в качестве командной оболочки пользователя, тем самым ее отключив в целях безопасности.
passwd мы создали пользователю необходимый пароль.
Доступ к командной оболочке (shell)
Если Вы хотите предоставлять пользователю доступ к командной оболочке, то указывайте путь до любой действующей вместо /bin/false, например:
Пользователям обычного протокола ftp не нужен доступ к shell, поэтому, безопаснее его не предоставлять.
Расположение proftpd.conf
Файл настроек proftpd.conf может располагаться в разных местах, в зависимости от вашей версии ОС:
Debian: /etc/proftpd/proftpd.conf
CentOS: /etc/proftpd.conf
Ubuntu: /etc/proftpd.conf
Ограничение прав ftp пользователя
Если требуется вы можете закрыть права на запись для пользователя, например, в домашнюю директорию и оставить их только для какой-нибудь внутренней папки, например upload:
От имени root измените права:
chmod 555 /home/имя_папки
mkdir /home/имя_папки/upload
chown имя_пользователя:имя_пользователя /home/имя_папки/upload
второе имя_пользователя является именем группы, которое по умолчанию совпадает с созданным вами именем пользователя.
Источник
Создайте нового пользователя SSH на сервере Ubuntu
Просто создал новый виртуальный сервер Ubuntu, и я в процессе его упрощения для использования в производстве. В настоящее время у меня есть учетная запись root. Я хочу сделать следующее:
- Создайте нового пользователя (назовем их jim для остальной части этого). Я хочу, чтобы у них был каталог /home/ .
- Предоставьте доступ к SSH jim .
- Разрешить jim до su для root, но не выполнять операции sudo .
- Отключите root SSH-доступ.
- Переместите SSHd на нестандартный порт, чтобы предотвратить остановку грубых атак.
Моя проблема заключается в первых двух элементах. Я уже нашел useradd , но по какой-то причине я не могу войти в систему как пользователь, созданный с ним через SSH. Нужно ли мне бить SSHd, чтобы это разрешить?
7 ответов
Изменить (как root) /etc/ssh/sshd_config . Добавьте к нему следующее:
Port 1234 заставляет SSH прослушивать порт 1234. Вы можете использовать любой неиспользуемый порт от 1 до 65535. Рекомендуется выбирать привилегированный порт (порт 1-1024), который может использоваться только корень. Если ваш демон SSH перестает работать по какой-либо причине, приложение-изгои не может перехватить соединение.
PermitRootLogin запрещает вход в систему с правами root.
AllowUsers jim позволяет пользователю jim регистрироваться через SSH. Если вам не нужно входить в систему со всего мира, вы можете сделать это более безопасным, ограничив jim на IP-адрес (замените 1.2.3.4 на ваш фактический IP-адрес):
Изменения в конфигурационном файле /etc/ssh/sshd_config не применяются немедленно, чтобы перезагрузить конфигурацию, запустите:
SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:
- Каталог /home/username/.ssh имеет разрешение «700» и принадлежит пользователю (не root!)
- У пользователя /home /username /ssh /authorized_keys есть разрешение «600» и принадлежит пользователю.
Скопируйте открытый ключ в файл authorized_keys.
НЕТ необходимо добавить пользователя в /etc /ssh /ssh_config.
В /var/log/auth.log будут обнаружены подсказки, почему SSH (или PAM) отклоняет попытку входа в систему. Дополнительные подсказки можно найти, используя параметр -v с клиентом ssh . Несколько распространенных ситуаций, некоторые из которых упомянуты в других ответах:
- учетная запись пользователя не имеет пароля или в противном случае отключена (см. man passwd ), попробуйте сбросить пароль или проверить содержимое /etc/shadow ).
- /etc/ssh/sshd_config настроен на запрет входа ( DenyUsers , AllowUsers , PasswordAuthentication , PubkeyAuthentication , UsePAM и т. Д., См. man sshd_config ).
- оболочка пользователя не указана в /etc/shells .
- различные проблемы с правами на каталоги или файлы, связанные с работой SSH: /etc/ssh , /home/jim/.ssh , /home/jim/.ssh/* и т. д.
Я бы также рекомендовал использовать adduser (вместо useradd ) для добавления новых пользователей; он немного более дружелюбен к различным настройкам учетной записи по умолчанию.
Пока пользователь не входит в группу admin , они не смогут использовать sudo для root. Чтобы использовать su , вам необходимо установить пароль root ( passwd root ), после чего я рекомендую установить PermitRootLogin=no в /и т.д. /SSH /sshd_config.
Я мог ошибаться, но мне всегда нужно установить демон сервера, прежде чем я смогу подключиться (по крайней мере, на рабочем столе) ssh устанавливается по умолчанию, но это только клиент
эта команда устанавливает сервер
sudo apt-get install openssh-server
Вы можете изменить порт и остановить корневой вход, отредактировав
Для этого требуется перезапустить службу.
sudo service ssh restart
У Jim не будет доступа к SSH, пока вы не установите пароль. Как выполнить root:
Если эта команда возвращает «!» а затем логин отключен для этой учетной записи. Выполняя passwd jim , поскольку root предложит вам новую и подтвержденную строку пароля, после которой команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.
Также убедитесь, что у jim есть оболочка входа, установленная по умолчанию, и домашний каталог, который существует.
Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.
В моем случае у меня была группа, которой был разрешен доступ, и пользователь не был ею частью. Это решило это для меня.
Используя приведенный выше пример с пользователем jim и предположим член группы jim , поскольку это только группа (проблема groups ) во время входа в систему jim , чтобы найти группы, в которых вы являетесь). В моем файле /etc/ssh/sshd_config у меня была запись AllowGroups sshusers и, следовательно, для добавления jim в sshusers группа. Ниже описано, как это будет достигнуто:
Замените свою группу и пользователя в соответствии с вашей конфигурацией.
По умолчанию могут быть некоторые случаи, когда PasswordAuthentication отключен.
Просьба проверить /etc/ssh/sshd_config и убедиться, что для атрибута PasswordAuthentication установлено значение yes .
Источник