для root @ localhost відмовлено в дозволі на з'єднання ssh


28

Я щойно встановив Ubuntu 14.04 і LAMP на цьому. Тоді я хотів налаштувати свій сервер, тому спробував цей підручник.

Коли я даю команду:

ssh root@localhost

Я отримую: У дозволі відмовлено, будь ласка, спробуйте ще раз. Я ввійшов як користувач root через команду:

sudo -i

Я також спробував те ж саме, увійшовши через:

sudo -s

Я використовую той самий пароль, що і раніше, як і користувач, але отримую те саме повідомлення про помилку.

Може хтось допоможе мені тут?

PS: Я розглядав це питання, але, здається, не працював на мене.

Відповіді:


57

За замовчуванням сервер SSH заперечує вхід на основі пароля для root. У /etc/ssh/sshd_configзміні:

PermitRootLogin without-password

до

PermitRootLogin yes

І перезапустіть SSH:

sudo service ssh restart

Або ви можете використовувати SSH ключі. Якщо у вас його немає, створіть його за допомогою ssh-keygen(дотримуйтесь клавіші за замовчуванням для клавіші та пропустіть пароль, якщо вам це здається). Потім виконайте sudo -s(або будь-який ваш кращий спосіб стати root) та додайте ключ SSH до /root/.ssh/authorized_keys:

cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

Я отримую цю помилку: cat: /home/user/.ssh/id_rsa.pub: Немає такого файлу чи каталогу.
vnay92

Ага. Вибачте. Я припускав, що у вас ключ SSH. Як ваш користувач, зробіть ssh-keygen(пропустіть пароль для ключа SSH, якщо хочете, і дотримуйтесь стандартних параметрів для решти), щоб створити його. Також я сподіваюся, що ви замінили userвласне ім’я користувача.
муру

Обидва методи для мене не спрацювали! Я навіть перевірив свою домашню папку; вона порожня. Що я повинен зробити?
Heich-B

5

У деяких випадках після змін

PermitRootLogin yes

необхідно перевірити цю конфігурацію:

DenyUsers root
AllowUsers saeid

і щоб увімкнути вхід, потрібно змінити на:

#DenyUsers root
AllowUsers root OtherUser

4

Якщо ви не вказали пароль для root, а ви намагаєтеся запустити команду на іскру чи подібний хеддоп ./sbin/stop-all.sh or./sbin/start-all.sh. Якщо у вас немає пароля root, ви можете встановити його за допомогою

sudo passwd

і вогневі команди.


1

У мене була схожа проблема з цією. Мені були потрібні два ПК , один на Ubuntu та інший на Arch , щоб синхронізувати файли через Unison, але наткнувся на той самий дозвіл, який відхилив помилку. Тільки заради тих, хто має таку ж проблему, як і я, ось що я зробив:

По-перше: встановлено одну і ту ж версію Unison на обох ПК. Це було трохи складно, оскільки доступний у центрі програмного забезпечення був позаду того, що було доступно для Arch. Отже, я не зміг знайти більш високу версію для Ubuntu, тому замінив її на Arch на нижчу. Знайдено тут: http://zdia.de/downloads/unison-2.40.102-linux-x86_64 . Ця ж версія знаходиться в програмному центрі для Ubuntu.

Друге: Виконайте кроки звідси: https://www.howtoforge.com/setting-up-unison-file-synchronization-bet between-two-servers-on-debian-squeeze (Примітка: Arch був моїм сервером 1, а Ubuntu - мій сервер 2.)

На кроці 3 я зіткнувся з проблемою, коли намагався копіювати ssh-копію. Але це було вирішено шляхом зміни "id_dsa.pub" на "id_rsa.pub" у рядку "ssh-copy-id -i $ HOME / .ssh / id_dsa.pub root@192.168.0.101". Можливо, моя вина, оскільки я думаю, що забув додати "-t dsa". У будь-якому випадку спершу спробуйте оригінальну команду. Якщо ви отримаєте помилку, то перейдіть на rsa.

Виконуючи вищезазначені дії, я виявив, що не можу змусити Unison підключитися до іншого сервера, і я не можу ввійти (без Unison) через ssh на інший сервер. Нарешті, через години пошуку в Google, мене перевели на цю сторінку, і відповідь, дана моїм Муру, запечатала угоду.

Після його застосування я міг зараз увійти через SSH на сервер 2.

Тож я запустив Юнісон і виправив налаштування профілю та віолу!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.