Просто созданный новый виртуальный сервер Ubuntu и я находимся в процессе укрепления его для производственного использования. У меня в настоящее время есть корневая учетная запись. Я хочу сделать следующее:
jim
для остальной части этого). Я хочу, чтобы у них был a /home/
каталог.jim
Доступ SSH.jim
кому: su
базироваться, но не работать sudo
операции.Моя проблема связана с первыми двумя объектами. Я уже нашел useradd
но по некоторым причинам, я не могу войти в систему в качестве пользователя созданный с ним по SSH. Я должен победить SSHd для разрешения этого?
Редактирование (как корень) /etc/ssh/sshd_config
. Добавьте следующее к нему:
Port 1234
PermitRootLogin no
AllowUsers jim
Port 1234
причины SSH для слушания на порте 1234. Можно использовать любой неиспользуемый порт от 1 до 65 535. Рекомендуется выбрать привилегированный порт (порт 1-1024), который может только использоваться корнем. Если Ваш демон SSH прекращает работать по некоторым причинам, приложение жулика не может прервать соединение.
PermitRootLogin
запрещает прямой корневой вход в систему.
AllowUsers jim
позволяет пользователю jim
входить в систему через SSH. Если Вы не должны входить в систему отовсюду, можно сделать это более безопасным путем ограничения jim к IP-адресу (замените 1.2.3.4 фактическим IP-адресом):
AllowUsers jim@1.2.3.4
Изменения в конфигурационном файле /etc/ssh/sshd_config
сразу не применяются, для перезагрузки конфигурации, выполняются:
sudo service ssh reload
Будут подсказки в /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
./etc/ssh
, /home/jim/.ssh
, /home/jim/.ssh/*
, и т.д.Я также рекомендовал бы использовать adduser (вместо useradd) для добавления новых пользователей; это является немного более дружественным о различных настройках учетной записи по умолчанию.
Пока пользователь не является частью admin
группа, они не смогут к sudo базироваться. Чтобы они использовали su, необходимо будет установить пароль root (passwd root
), после которого я рекомендую установить PermitRootLogin=no
в /etc/ssh/sshd_config
.
Я мог быть неправым, но я всегда должен устанавливать демона сервера, прежде чем я смогу соединиться (По крайней мере, на рабочем столе) ssh, установлен по умолчанию, но это - просто клиент
эта команда устанавливает сервер
sudo apt-get install openssh-server
Можно изменить порт и остановить корневой вход в систему путем редактирования
/etc/ssh/sshd_config
Это требует, чтобы Вы перезапустили сервис все же.
sudo service ssh restart
У Jim не будет доступа SSH, пока Вы не установили пароль. Как корень выполнитесь:
grep -i "jim" /etc/shadow | awk -F':' '{ print $2 }'
Если эта команда возвращает a"!" символ затем входит в систему, отключен для этой учетной записи. Выполнение passwd jim
поскольку корень предложит Вам новую и подтвержденную строку пароля, после которой grep управляют выше, должен возвратить хешированную строку, представляющую пароль для jim.
Также обязательно проверьте, что jim имеет оболочку входа в систему, набор по умолчанию и корневой каталог, который существует.
Отметьте сообщение lekensteyn информацией об изменении настроек сервера SSH.
SSH очень требователен в отношении полномочий файла и каталога. Удостоверьтесь что:
Скопируйте свой открытый ключ в authorized_keys файл.
sudo chown -R username:username /home/username/.ssh
sudo chmod 0700 /home/username/.ssh
sudo chmod 0600 /home/username/.ssh/authorized_keys
Нет НИКАКОЙ потребности добавить пользователя к/etc/ssh/ssh_config.
Могли бы быть некоторые экземпляры что PasswordAuthentication
отключен по умолчанию.
Любезно проверьте /etc/ssh/sshd_config
и удостоверьтесь что PasswordAuthentication
атрибут установлен на yes
.
В моем случае у меня была группа, которой разрешили доступ, и пользователь не был частью его. Это решило его для меня.
Используя пример выше с пользователем jim
и примите члена группы jim
поскольку это - только группа (проблема groups
управляйте, в то время как зарегистрированный как jim
для нахождения групп, Вы - часть). В моем /etc/ssh/sshd_config
файл я имел AllowGroups sshusers
запись и таким образом должна была добавить jim
к sshusers
группа. Ниже то, как это было бы выполнено:
usermod -a -G sshusers jim
Замените свою группу и пользователя как подходящие для Вашей конфигурации.
@Lekensteyn я не могу оставить комментарий ответу вопроса, потому что у меня нет репутации - но я пытался добавить
AllowUsers existingUser,newUser
в мой/etc/ssh/sshd_config файл и теперь я больше не могу ssh с обоими моими existingUser или newUser.