Создайте нового пользователя SSH на сервере Ubuntu

для разработки plone на linux, мы используем этот скрипт сборки: https://svn.plone.org/svn/collective/buildout/bda-naked-python/

имеются файлы конфигурации сборки для python версии 2.4, 2.5, 2.6, 2.7 и 3.2.

README рассказывает, как его использовать.

84
задан 8 December 2010 в 20:11

63 ответа

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

Используя пример выше с пользователем jim и предположим член группы jim, поскольку это только группа (команда groups, когда вы вошли в систему как jim, чтобы найти группы, частью которых вы являетесь). В моем /etc/ssh/sshd_config файле у меня была запись AllowGroups sshusers и, следовательно, мне нужно было добавить jim в группу sshusers. Ниже описано, как это будет выполнено:

usermod -a -G sshusers jim

Замените вашу группу и пользователя в соответствии с вашей конфигурацией.

1
ответ дан 2 August 2018 в 04:11
  • 1
    вы должны улучшить свой ответ, указав источник, который лучше объяснит ваш пример, или добавив соответствующую информацию, основанную на вашем примере, на исходный вопрос OP. например, пользователь указал jim в качестве фиктивного пользователя, чтобы помочь обеспечить контекст. статья здесь объясняет это хорошо. – jargonjunkie 13 February 2018 в 04:29

У Jim не будет доступа к SSH, пока вы не установите пароль. Как root выполнить:

grep -i "jim" /etc/shadow | awk -F':' '{ print $2 }'

Если эта команда возвращает символ "!" а затем логин отключен для этой учетной записи. Выполнение passwd jim с правами root приведет к появлению новой и подтвержденной строки пароля, после которой команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.

Также убедитесь, что у jim есть логин shell, установленный по умолчанию, и домашний каталог, который существует.

Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.

6
ответ дан 2 August 2018 в 04:11
  • 1
    & quot; Если эта команда возвращает & quot; & quot; символ, а затем логин отключен для этой учетной записи & quot; Обратите внимание, это не означает, что вы не можете SSH; только то, что вы не можете сделать это с помощью пароля (по сравнению с вашим открытым ключом). – bfontaine 4 April 2017 в 17:13

SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:

У директории /home/username/.ssh есть разрешение «700» и принадлежит пользователю (не root!). У / home / username / ssh / authorized_keys есть разрешение «600», и будет принадлежать пользователю

Скопируйте свой открытый ключ в файл 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.

59
ответ дан 2 August 2018 в 04:11
  • 1
    Моя проблема была chown, я создал ~./ssh как root и никогда не дал пользователю права собственности. – Gerve 9 April 2014 в 23:05
  • 2
    Моя проблема заключалась в том, что я пытался использовать /root/.ssh/authorized_keys вместо /home/bob/.ssh/authorized_keys. – Alex W 28 April 2015 в 18:57
  • 3
    Я могу подтвердить: на нашем хосте VPS не нужно было редактировать ssh_config. Настройка этого каталога и файла была достаточно. – superjos 6 May 2015 в 12:46
  • 4
    Это правильный ответ и масштабируемость! – Viet 1 November 2016 в 11:20
  • 5
    Для меня это должен был быть chmod 755 /home/username/.ssh, иначе это не сработало. – Jim W 3 December 2016 в 02:58

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

Используя пример выше с пользователем jim и возьмем член группы jim , поскольку это только группа (issue group , выполнив вход в систему как jim , чтобы найти группы, в которых вы являетесь частью). В моем файле / etc / ssh / sshd_config у меня была запись AllowGroups sshusers и, следовательно, для добавления jim в sshusers ]. Ниже описано, как это будет выполнено:

  usermod -a -G sshusers jim  

Замените свою группу и пользователя в соответствии с вашей конфигурацией.

1
ответ дан 4 August 2018 в 20:15

У Jim не будет доступа к SSH, пока вы не установите пароль. Как выполнить root:

  grep -i "jim" / etc / shadow |  awk -F ':' '{print $ 2}'  

Если эта команда возвращает символ "!" а затем логин отключен для этой учетной записи. Выполнение passwd jim с правами root приведет к появлению новой и подтвержденной строки пароля, после чего команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.

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

Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.

6
ответ дан 4 August 2018 в 20:15

SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:

  1. Каталог /home/username/.ssh имеет разрешение «700» и принадлежит пользователю (не root!)
  2. The / home / username / ssh / authorized_keys имеет разрешение «600» и принадлежит пользователю

Скопируйте свой открытый ключ в файл authorized_keys.

  sudo chown -R  имя пользователя: имя пользователя /home/username/.ssh sudo chmod 0700 /home/username/.ssh sudo chmod 0600 /home/username/.ssh/authorized_keys  

Нет необходимости добавлять пользователя в /etc/ssh/ssh_config.

59
ответ дан 4 August 2018 в 20:15

В /var/log/auth.log будут обнаружены подсказки, почему SSH (или PAM) отклоняет попытку входа в систему. Дополнительные подсказки можно найти, используя опцию -v с клиентом ssh . Несколько распространенных ситуаций, некоторые из которых упомянуты в других ответах:

  • У пользователя нет пароля или в противном случае отключен (см. [D2] 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 [ ! d22] до корня. Чтобы использовать su , вам нужно будет установить пароль root ( passwd root ), после чего я рекомендую установить PermitRootLogin = no в / и т.д. / SSH / sshd_config .

10
ответ дан 4 August 2018 в 20:15

Я могу ошибаться, но мне всегда нужно установить демон сервера, прежде чем я смогу подключиться (по крайней мере, на рабочем столе). ssh устанавливается по умолчанию, но это только клиент

эта команда устанавливает сервер [ ! d4]

sudo apt-get install openssh-server

Вы можете изменить порт и остановить корневой вход, отредактировав

/ etc / ssh / sshd_config

Это требует перезапуска службы.

sudo service ssh restart

10
ответ дан 4 August 2018 в 20:15

Могут быть некоторые случаи, когда по умолчанию PasswordAuthentication отключен.

Просьба проверить / etc / ssh / sshd_config и убедиться, что кнопка Атрибут PasswordAuthentication установлен на да .

0
ответ дан 4 August 2018 в 20:15

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

Используя пример выше с пользователем jim и возьмем член группы jim , поскольку это только группа (issue group , выполнив вход в систему как jim , чтобы найти группы, в которых вы являетесь частью). В моем файле / etc / ssh / sshd_config у меня была запись AllowGroups sshusers и, следовательно, для добавления jim в sshusers ]. Ниже описано, как это будет выполнено:

  usermod -a -G sshusers jim  

Замените свою группу и пользователя в соответствии с вашей конфигурацией.

1
ответ дан 6 August 2018 в 04:16

У Jim не будет доступа к SSH, пока вы не установите пароль. Как выполнить root:

  grep -i "jim" / etc / shadow |  awk -F ':' '{print $ 2}'  

Если эта команда возвращает символ "!" а затем логин отключен для этой учетной записи. Выполнение passwd jim с правами root приведет к появлению новой и подтвержденной строки пароля, после чего команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.

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

Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.

6
ответ дан 6 August 2018 в 04:16

SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:

  1. Каталог /home/username/.ssh имеет разрешение «700» и принадлежит пользователю (не root!)
  2. The / home / username / ssh / authorized_keys имеет разрешение «600» и принадлежит пользователю

Скопируйте свой открытый ключ в файл authorized_keys.

  sudo chown -R  имя пользователя: имя пользователя /home/username/.ssh sudo chmod 0700 /home/username/.ssh sudo chmod 0600 /home/username/.ssh/authorized_keys  

Нет необходимости добавлять пользователя в /etc/ssh/ssh_config.

60
ответ дан 6 August 2018 в 04:16

В /var/log/auth.log будут обнаружены подсказки, почему SSH (или PAM) отклоняет попытку входа в систему. Дополнительные подсказки можно найти, используя опцию -v с клиентом ssh . Несколько распространенных ситуаций, некоторые из которых упомянуты в других ответах:

  • У пользователя нет пароля или в противном случае отключен (см. [D2] 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 [ ! d22] до корня. Чтобы использовать su , вам нужно будет установить пароль root ( passwd root ), после чего я рекомендую установить PermitRootLogin = no в / и т.д. / SSH / sshd_config .

10
ответ дан 6 August 2018 в 04:16

Могут быть некоторые случаи, когда по умолчанию PasswordAuthentication отключен.

Просьба проверить / etc / ssh / sshd_config и убедиться, что кнопка Атрибут PasswordAuthentication установлен на да .

0
ответ дан 6 August 2018 в 04:16

Я могу ошибаться, но мне всегда нужно установить демон сервера, прежде чем я смогу подключиться (по крайней мере, на рабочем столе). ssh устанавливается по умолчанию, но это только клиент

эта команда устанавливает сервер [ ! d4]

sudo apt-get install openssh-server

Вы можете изменить порт и остановить корневой вход, отредактировав

/ etc / ssh / sshd_config

Это требует перезапуска службы.

sudo service ssh restart

10
ответ дан 6 August 2018 в 04:16

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

Используя пример выше с пользователем jim и возьмем член группы jim , поскольку это только группа (issue group , выполнив вход в систему как jim , чтобы найти группы, в которых вы являетесь частью). В моем файле / etc / ssh / sshd_config у меня была запись AllowGroups sshusers и, следовательно, для добавления jim в sshusers ]. Ниже описано, как это будет выполнено:

  usermod -a -G sshusers jim  

Замените свою группу и пользователя в соответствии с вашей конфигурацией.

1
ответ дан 7 August 2018 в 22:20

У Jim не будет доступа к SSH, пока вы не установите пароль. Как выполнить root:

  grep -i "jim" / etc / shadow |  awk -F ':' '{print $ 2}'  

Если эта команда возвращает символ "!" а затем логин отключен для этой учетной записи. Выполнение passwd jim с правами root приведет к появлению новой и подтвержденной строки пароля, после чего команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.

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

Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.

6
ответ дан 7 August 2018 в 22:20

SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:

  1. Каталог /home/username/.ssh имеет разрешение «700» и принадлежит пользователю (не root!)
  2. The / home / username / ssh / authorized_keys имеет разрешение «600» и принадлежит пользователю

Скопируйте свой открытый ключ в файл authorized_keys.

  sudo chown -R  имя пользователя: имя пользователя /home/username/.ssh sudo chmod 0700 /home/username/.ssh sudo chmod 0600 /home/username/.ssh/authorized_keys  

Нет необходимости добавлять пользователя в /etc/ssh/ssh_config.

60
ответ дан 7 August 2018 в 22:20

Могут быть некоторые случаи, когда по умолчанию PasswordAuthentication отключен.

Просьба проверить / etc / ssh / sshd_config и убедиться, что кнопка Атрибут PasswordAuthentication установлен на да .

0
ответ дан 7 August 2018 в 22:20

Я могу ошибаться, но мне всегда нужно установить демон сервера, прежде чем я смогу подключиться (по крайней мере, на рабочем столе). ssh устанавливается по умолчанию, но это только клиент

эта команда устанавливает сервер [ ! d4]

sudo apt-get install openssh-server

Вы можете изменить порт и остановить корневой вход, отредактировав

/ etc / ssh / sshd_config

Это требует перезапуска службы.

sudo service ssh restart

10
ответ дан 7 August 2018 в 22:20

В /var/log/auth.log будут обнаружены подсказки, почему SSH (или PAM) отклоняет попытку входа в систему. Дополнительные подсказки можно найти, используя опцию -v с клиентом ssh . Несколько распространенных ситуаций, некоторые из которых упомянуты в других ответах:

  • У пользователя нет пароля или в противном случае отключен (см. [D2] 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 [ ! d22] до корня. Чтобы использовать su , вам нужно будет установить пароль root ( passwd root ), после чего я рекомендую установить PermitRootLogin = no в / и т.д. / SSH / sshd_config .

10
ответ дан 7 August 2018 в 22:20

SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:

  1. Каталог /home/username/.ssh имеет разрешение «700» и принадлежит пользователю (не root!)
  2. The / home / username / ssh / authorized_keys имеет разрешение «600» и принадлежит пользователю

Скопируйте свой открытый ключ в файл authorized_keys.

  sudo chown -R  имя пользователя: имя пользователя /home/username/.ssh sudo chmod 0700 /home/username/.ssh sudo chmod 0600 /home/username/.ssh/authorized_keys  

Нет необходимости добавлять пользователя в /etc/ssh/ssh_config.

60
ответ дан 10 August 2018 в 10:30

У Jim не будет доступа к SSH, пока вы не установите пароль. Как выполнить root:

  grep -i "jim" / etc / shadow |  awk -F ':' '{print $ 2}'  

Если эта команда возвращает символ "!" а затем логин отключен для этой учетной записи. Выполнение passwd jim с правами root приведет к появлению новой и подтвержденной строки пароля, после чего команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.

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

Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.

6
ответ дан 10 August 2018 в 10:30

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

Используя пример выше с пользователем jim и возьмем член группы jim , поскольку это только группа (issue group , выполнив вход в систему как jim , чтобы найти группы, частью которых вы являетесь). В моем файле / etc / ssh / sshd_config у меня была запись AllowGroups sshusers и, следовательно, для добавления jim в sshusers ]. Ниже описано, как это будет выполнено:

  usermod -a -G sshusers jim  

Замените свою группу и пользователя в соответствии с вашей конфигурацией.

1
ответ дан 10 August 2018 в 10:30

Могут быть некоторые случаи, когда по умолчанию PasswordAuthentication отключен.

Просьба проверить / etc / ssh / sshd_config и убедиться, что кнопка Атрибут PasswordAuthentication установлен на да .

0
ответ дан 10 August 2018 в 10:30

Я могу ошибаться, но мне всегда нужно установить демон сервера, прежде чем я смогу подключиться (по крайней мере, на рабочем столе). ssh устанавливается по умолчанию, но это только клиент

эта команда устанавливает сервер [ ! d4]

sudo apt-get install openssh-server

Вы можете изменить порт и остановить корневой вход, отредактировав

/ etc / ssh / sshd_config

Это требует перезапуска службы.

sudo service ssh restart

10
ответ дан 10 August 2018 в 10:30

В /var/log/auth.log будут обнаружены подсказки, почему SSH (или PAM) отклоняет попытку входа в систему. Дополнительные подсказки можно найти, используя опцию -v с клиентом ssh . Несколько распространенных ситуаций, некоторые из которых упомянуты в других ответах:

  • У пользователя нет пароля или в противном случае отключен (см. [D2] 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 [ ! d22] до корня. Чтобы использовать su , вам нужно будет установить пароль root ( passwd root ), после чего я рекомендую установить PermitRootLogin = no в / и т.д. / SSH / sshd_config .

10
ответ дан 10 August 2018 в 10:30

У Jim не будет доступа к SSH, пока вы не установите пароль. Как выполнить root:

  grep -i "jim" / etc / shadow |  awk -F ':' '{print $ 2}'  

Если эта команда возвращает символ "!" а затем логин отключен для этой учетной записи. Выполнение passwd jim с правами root приведет к появлению новой и подтвержденной строки пароля, после чего команда grep выше должна вернуть хешированную строку, представляющую пароль для jim.

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

Обратите внимание на сообщение lekensteyn для получения информации об изменении настроек сервера SSH.

7
ответ дан 13 August 2018 в 16:56
  • 1
    & quot; Если эта команда возвращает & quot; & quot; символ, а затем логин отключен для этой учетной записи & quot; Обратите внимание, это не означает, что вы не можете SSH; только то, что вы не можете сделать это с помощью пароля (по сравнению с вашим открытым ключом). – bfontaine 4 April 2017 в 17:13

SSH очень разборчиво относится к разрешениям каталога и файла. Убедитесь, что:

  1. Каталог /home/username/.ssh имеет разрешение «700» и принадлежит пользователю (не root!)
  2. The / home / username / ssh / authorized_keys имеет разрешение «600» и принадлежит пользователю

Скопируйте свой открытый ключ в файл authorized_keys.

  sudo chown -R  имя пользователя: имя пользователя /home/username/.ssh sudo chmod 0700 /home/username/.ssh sudo chmod 0600 /home/username/.ssh/authorized_keys  

Нет необходимости добавлять пользователя в /etc/ssh/ssh_config.

60
ответ дан 13 August 2018 в 16:56
  • 1
    Моя проблема была chown, я создал ~. / Ssh как root и никогда не давал пользователю права собственности. – Gerve 9 April 2014 в 23:05
  • 2
    Моя проблема заключалась в том, что я пытался использовать /root/.ssh/authorized_keys вместо /home/bob/.ssh/authorized_keys . – Alex W 28 April 2015 в 18:57
  • 3
    Я могу подтвердить: на нашем хосте VPS не нужно было редактировать ssh_config . Настройка этого каталога и файла была достаточно. – superjos 6 May 2015 в 12:46
  • 4
    Это правильный ответ и масштабируемость! – Viet 1 November 2016 в 11:20
  • 5
    Для меня это должен был быть chmod 755 /home/username/.ssh, иначе это не сработало. – Jim W 3 December 2016 в 02:58

Могут быть некоторые случаи, когда по умолчанию PasswordAuthentication отключен.

Просьба проверить / etc / ssh / sshd_config и убедиться, что кнопка Атрибут PasswordAuthentication установлен на да .

0
ответ дан 13 August 2018 в 16:56

Другие вопросы по тегам:

Похожие вопросы: