Не могу подключиться по ssh через root

I had a similar problem to this. I needed two PCs, one on Ubuntu and another on Arch, to sync files through Unison but ran into the same permission denied error. Just for the sake of those who are having the same problem as I was, here’s what I did:

First: Installed the same version of Unison on both PCs. This was a bit challenging as the one available on the software center was behind to what was readily available for Arch. So, I couldn’t find a higher version for Ubuntu, so I replaced the one on Arch with a lower one instead. Found one here: http://zdia.de/downloads/unison-2.40.102-linux-x86_64. The same version is in the software center for Ubuntu.

After applying it, I could now login via SSH to server 2.

So I ran Unison, and corrected the profile settings, and viola!

asked Aug 15, 2014 at 16:31

The default setting in Debian (and hence Ubuntu) for OpenSSH Server is to deny password-based login for root and allow only key-based login. Change this line in /etc/ssh/sshd_config:

And restart the SSH server:

sudo service ssh restart

answered Aug 15, 2014 at 16:34

53 gold badges469 silver badges719 bronze badges

To me, works changing (Ubuntu 18.04):

then, restart ssh service:

answered Nov 27, 2018 at 20:45

And, as Vaindil pointed out, a key based login would be far superior. They are not very hard to setup. Here’s a link to setup key-based login using PuTTY on windows: https://devops.profitbricks.com/tutorials/use-ssh-keys-with-putty-on-windows/ . But there are lots of others if you are using a different environment to login from.

answered Apr 24, 2018 at 15:48

Почему пользователь root не может подключиться по SSH с верным паролем. Как запретить или разрешить подключение root по SSH

Permission denied, please try again.
Permission denied (publickey,password).

То проверьте значение директивы PermitRootLogin:

По умолчанию она закомментирована, но указанное значение всё равно используется по умолчанию.

Директива PermitRootLogin определяет, может ли root выполнить вход используя ssh. Аргументами могут быть: yes, prohibit-password, forced-commands-only или no. Значением по умолчанию является prohibit-password.

Если эта опция установлена на prohibit-password (или устаревший псевдоним without-password), то вход по паролю и интерактивная аутентификация с клавиатуры отключены для пользователя root.

Если эта опция установлена на forced-commands-only, вход root с аутентификацией по публичному ключу будет разрешён, но только если была указана опция ForceCommand с командой (это может быть полезно для получения удалённых бэкапов, даже если нормальный вход root не разрешён). Все другие методы аутентификации отключены для root.

Если эта опция установлена на no, то root’у не разрешён вход вовсе.

Если опция установлена на yes, то разрешён вход для рута без ограничений.

Итак, если вы столкнулись с проблемой, что не можете выполнить вход с верным паролем под пользователем root, то либо настройте вход без пароля — по публичному ключу, либо установите значение этой директивы на yes.

По умолчанию в Linux Debian для суперпользователя root подключение к серверу по SSH не разрешен.

Если попробовать авторизоваться рутом, то, скорее всего, отобразится сообщение, что доступ не разрешен:

Запрет подключения к серверу по SSH пользователю root обусловлен требованием безопасности, но иногда все-таки нужно поработать именно рутом, для этого можно ВРЕМЕННО разрешить ему подключаться по SSH.

Это можно сделать следующим образом:

1. Создать пользователю root пароль (если нет) с помощью следующей команды:

Нажать Enter и ввести пароль 2 раза (консоль об этом напишет).

2.Открыть с помощью любого текстового редактора файл с настройками SSH, например, с помощью редактора VIM (VI):

И для параметра PermitRootLogin изменить значение с no на yes:

Иногда параметр PermitRootLogin закомментирован, соответственно, нужно его раскоментировать.

Сохранить изменения в файле.

В некоторых случаях параметр PermitRootLogin может иметь значение without-password или prohibit-password — это значит, что root разрешено подключаться средствами GSSAPI (не парольной аутентификации), например, с помощью смарт-карты или отпечатка пальца (это, конечно же, редкость).

3. Перезапустить ssh server командой:

(если не помогает, перезапустить сервер полностью 🙂

После этого пользователь root сможет подключиться по SSH.

In my project, I have to install some package remotely. If I have to login in debian, I say:

it logs in successfully.

I have login in ubuntu in directly using

it is throw error message in

How to solve this problem?

Дополнительно:  Синий экран после установки драйверов

33 gold badges235 silver badges226 bronze badges

asked Aug 23, 2013 at 5:47

6 gold badges43 silver badges55 bronze badges

check the /etc/ssh/sshd_config whether the configure PermitRootLogin yes below # Authentication:. If not yes, it doesn’t permit login as root.

you can change it to yes.

Then, restart ssh service to apply the changes:
sudo service sshd restart

26 silver badges37 bronze badges

answered Aug 23, 2013 at 6:10

Ubuntu documentation says:

By default, the Root account password is locked in Ubuntu.

It also says:

It talks at length about why it’s been done this way.

Enabling the root account:

To enable the Root account (i.e. set a password) use:

sudo passwd root

Use at your own risk!

Logging in to X as root may cause very serious trouble. If you believe
you need a root account to perform a certain action, please consult
the official support channels first, to make sure there is not a
better alternative.

Do not enable the root account. Do not set a password for the root account.

A better way is to allow root login using public key authentication, not with password. The reasoning is explained in the Debian mailing list archives.

With this setup you should be able to login as root using your private key.

If you have previously enabled the root account, make sure to disable it now:

sudo passwd -l root

answered Aug 30, 2013 at 12:12

29 gold badges224 silver badges235 bronze badges

and then do what you want using sudo or get a root shell the recommended way:

and then do your housekeeping. Instead of ‘sudo su’ you also could use ‘sudo -i’, which is equivalent, or ‘sudo -s’, that keeps the current environment.

See Ubuntu Sudo/Root documentation

answered Sep 1, 2013 at 19:42

1 gold badge8 silver badges3 bronze badges

edit your /etc/sshd_config doing:

search for line having PermitRootLogin into Authentication Section and uncomment PermitRootLogin or set PermitRootLogin yes. Or simply add this line to the end of file:

Next you’ll gonna restart ssh daemon doing

to continue session under your root account

answered Aug 26, 2013 at 18:26

1 silver badge2 bronze badges

So long as:

All that is different was the word sudo was added before carrying out the command

If there are security issues with keys etc then you could take a look at a language called expect — using an expect script you will be able to ssh / telnet what ever it is to a remote host and send passwords etc accordingly

answered Aug 26, 2013 at 18:41

2 gold badges28 silver badges48 bronze badges

answered Aug 30, 2013 at 3:46

8 silver badges19 bronze badges

answered Oct 28, 2014 at 8:17

1 bronze badge

By default, the Root account password is locked in Debian based systems like Ubuntu:

Now set the password for root account:

Simply adding a password for root is not enough.

Incoming ssh connections need to be enabled as below:

Then restart SSH:

sudo service ssh restart;

Finally Restart the system:

answered Feb 8, 2016 at 12:28

3 gold badges31 silver badges31 bronze badges

SSH your machine using root with your keypair

answered May 19, 2018 at 11:57

19 silver badges14 bronze badges

В общем надо соединиться с компьютером по ssh . НО так и не понял что я делаю не так.

На машине к которой хочу подключиться делаю перезагрузку ssh . И запускаю ssh .

На другой машине пытаюсь присоединиться :

В общем не подключилось 🙁

В общем так и не понял, что я не так делаю .

В конфигурационный файл /etc/ssh/sshd_config не лез (всё стандартное).
Вот «он»:

ifconfig на клиенской машине :

Решил попробывать от атвратного , вспомнил что отвратный это я :3 и посему решил наоборот попробывать, сейчас debian 9 сервер, Ubuntu 18 клиент а будет debian 9 клиент, Ubuntu 18 сервер

вот сервер на Убунте

А вот клиент Дебиан

Требует какойто код , которого у меня нету 🙁

Пытался использовать имя и пароль от компа сервера (именно пользовательский ) но как то не вышло ((

В файле /etc/ssh/sshd_config на сервере изменил строку :

Но всё равно просит ввести какой-то пароль (единственный плюс он хотябы начал отвечать (именно сервер дебиан :3 )).

При подключенини одноразовый пароль нигде не создаётся и не выводится

Где «добыть» этот чертов пароль ???

Currently this is my setup (ssh_config):

(output from sshd -d)

(output from login attempt -vvv)

(output from ls -alF .ssh)

ls -alF .ssh
total 12
drwx—— 2 root root 4096 Jan 16 15:01 ./
drwx—— 10 root root 4096 Jan 16 04:26 ../
-rw——- 1 root root 405 Jan 16 15:00 authorized_keys

Is there something obvious I’m missing? Any ideas?

Thanks in advance!

Как разрешить или запретить пользователям входить через SSH

Тестовый режим. Только проверяет правильность файла конфигурации и работоспособность ключей. Это полезно для надёжного обновления sshd, поскольку параметры конфигурации могут измениться.

Дополнительно:  Root file system is mounted read-only on boot on Gentoo Linux

Расширенный тестовый режим. С этой опцией sshd проверит правильность файла конфигурации, выведет действующую конфигурацию в стандартный вывод и затем завершит работу. При желании, правила соответствия могут применяться путём указания параметров соединения с использованием одной или нескольких опций -C.

Другие опции sshd

Рассмотрены самые востребованные опции конфигурационного файла sshd, кроме них имеется ещё много других, которые настраивают используемые шифры, могут более тонко определить порядок аутентификации и требования к подключающемуся, настраивают возможности пересылки (forwarding), установить выполняемую команду при подключении пользователя, вывод определённой информации при подключении и так далее.

С другими опциями конфигурационного файла sshd (на английском языке) вы сможете ознакомиться с помощью команды:

Информацию об опциях командной строки можно увидеть с помощью:

Шаблоны в файле настроек SSH

Шаблон состоит из нуля или более символов, которые не являются белыми пробелами, ‘*’ (подстановочного символа, который соответствует нулю или более символам), а также ‘?’ (подстановочный символ, который соответствует ровно одному любому символу). Например, чтобы охарактеризовать любой хост в наборе доменов «.co.uk» можно использовать следующий шаблон:

Список шаблонов — это несколько шаблонов, разделённых запятой. Шаблоны внутри списка могут иметь противоположное значение если перед ними стоит восклицательный знак («!»). Например, для разрешения ключа использовать откуда угодно внутри организации, кроме пула «dialup», можно использовать следующее (в authorized_keys):

Помните, что отрицательное совпадение никогда само по себе не даст положительных результатов. Например, попытка сопоставить хост «host3» следующими списку шаблонов не найдёт совпадений:

Решением для предыдущей ситуации является включение термина, который приведёт к положительному совпадению, им может быть подстановочный символ:

Другие важные опции командной строки сервера SSH

Указывает путь к файлу сертификата для идентификации sshd во время обмена ключами. Файл сертификата должен соответствовать файлу ключа хоста, указанному с помощью параметра -h или директивы конфигурации HostKey.

Указывает файл, из которого читается ключ хоста. Эта опция должна быть указана, если sshd не запускается от имени пользователя root (поскольку обычные файлы ключей хоста как правило не читаются никем, кроме root). По умолчанию это /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key и /etc/ssh/ssh_host_rsa_key. Можно иметь несколько файлов ключей хоста для разных алгоритмов ключей хоста.

Добавить журналы отладки в файл_журнала вместо системного журнала.

Записывать журналы отладки в стандартный вывод ошибок вместо системного журнала.

Может использоваться для задания параметров в формате, используемом в файле конфигурации (sshd_config). Это полезно для указания параметров, для которых нет отдельного флага командной строки. Самые важные директивы конфигурационного файла рассмотрены выше.

Указывает порт, на котором сервер прослушивает соединения (по умолчанию 22). Допускается использование нескольких портов. Порты, указанные в файле конфигурации с параметром «Port», игнорируются, если указан порт командной строки. Порты, указанные с помощью параметра ListenAddress, переопределяют порты командной строки.

Тихий режим. Ничего не отправляется в системный журнал. Без этой опции обычно запуск, аутентификация и завершение каждого соединения регистрируются.

Настройка журналов SSH сервера

Служба SSH не ведёт свой собственный лог и записывает события в системный журнал. О том, как его просмотреть, обратитесь к разделу «Как проверить журнал событий SSH службы».

Можно настроить подробность ведения журнала — уровень вербальности, то есть какие именно сообщения будут записываться в этот журнал. Для этого используется директива LogLevel. Её значем по умолчанию является INFO. Также доступны следующие варианты:

DEBUG и DEBUG1 являются эквивалентами. DEBUG2 и DEBUG3 — каждый указывает на более высокие уровни вывода отладочной информации.

Ведение журнала на уровне DEBUG нарушает политику приватности пользователей и не рекомендуется.

Как изменить порт, на котором работает сервер OpenSSH

Все настройки выполняются в файле /etc/ssh/sshd_config или в строке команды запуска sshd.

Для sshd.socket смена прослушиваемого службой порта происходит иначе.

Если вы используете sshd.service (объяснения в первой части), то смена порта также происходит в файле /etc/ssh/sshd_config. Для этого раскомментируйте директиву Port и укажите новое значение:

Опцию Port разрешено использовать несколько раз.

Также порт можно установить с помощью ListenAddress.

Если вы используете сокет sshd.socket и хотите поменять для SSH прослушиваемый порт, то вам нужно редактировать специальный файл следующим образом:

sudo systemctl edit sshd.socket

Там можно указать только порт:

А также IP и порт:

Обратите внимание, что использование ListenStream дважды в одном конфигурационном файле не является ошибкой. Если вы используете ListenStream только один раз с указанием порта, тогда будут прослушиваться и 22 порт и порт, который вы указали. Первое использование ListenStream= отключает прослушивание 22 порта.

Для sshd.socket другие настройки, как обычно, в файле /etc/ssh/sshd_config. Но директивы Port и ListenAddress будут игнорироваться (если выбрано прослушивание сокета).

Перезапуск службы SSH

Если между sshd.service и sshd.socket (подробности в разделе «Управление службой OpenSSH») вы выбрали запуск sshd.service, то чтобы внесённые в конфигурационный файл изменения вступили в силу, необходимо перезапустить службу:

sudo systemctl restart sshd.service

Для sshd.socket перезапуск службы требуется только при изменении номера порта (как это показано ниже) и делается так:

sudo systemctl restart sshd.socket


Содержание «Полное руководство по SSH в Linux и Windows»

1. Что такое SSH. Утилиты SSH

2. Настройка сервера OpenSSH

2.1 Как настроить SSH сервер (sshd)

Дополнительно:  Не работает приложение OKKO на телевизоре: причины и что делать, если не запускается?

2.2 Перезапуск службы SSH

2.3 Как изменить порт, на котором работает сервер OpenSSH

2.4 Как выбрать интерфейс (IP) для прослушивания

2.5 Почему пользователь root не может подключиться по SSH с верным паролем. Как запретить или разрешить подключение root по SSH

2.6 Запрет и разрешение входа в SSH по паролю обычным пользователям

2.7 Разрешение входа без пароля

2.8 Как разрешить или запретить пользователям входить через SSH

2.9 Шаблоны в файле настроек SSH

2.10 Как разрешить подключение только с определённого IP или группы IP. Как заблокировать определённые IP для SSH

2.11 Настройка журналов SSH сервера

2.12 Запуск SSH без отсоединения от терминала

2.13 Запуск сервера SSH с другим конфигурационным файлом

2.14 Как проверить конфигурационный файл сервера SSH без запуска службы

2.15 Другие важные опции командной строки сервера SSH

2.16 Другие опции sshd

3. Как подключиться к SSH. Настройка клиента OpenSSH

4. Создание и настройка ключей OpenSSH

5. Копирование файлов с помощью scp и sftp

6. Подсказки и сложные случаи использования OpenSSH

Запуск сервера SSH с другим конфигурационным файлом

С помощью опции -f можно указать путь до другого конфигурационного файла (значение по умолчанию /etc/ssh/sshd_config). sshd откажется запускаться без конфигурационного файла.

Как выбрать интерфейс (IP) для прослушивания

В системе может быть несколько сетевых интерфейсов с несколькими IP адресами, по умолчанию sshd прослушивает их все, в том числе IPv6 адреса:

ListenAddress ::

Если вы хотите, чтобы компьютер в локальной сети был доступен только для устройств в локальной сети, то можно указать его локальный IP:

Кстати, смотрите статью «Как настроить Kali Linux на использование статичного IP адреса».

Директиву ListenAddress можно использовать несколько раз в одном конфигурационном файле. Разрешены следующие форматы:

Если порт не указан, то sshd будет прослушивать на указанном порту в соответствии со всеми установленными опциями Port в этом файле.

Квалификатор rdomain является необязательным, он имеет отношение к маршрутизации.

Также обратите внимание, что с ListenAddress обязательно должен быть указано имя хоста (адрес) ИЛИ порт. Можно указать отдельно имя хоста (адрес), можно указать отдельно порт, а также можно указать их вместе. Во всех вариантах rdomain может отсутствовать.

Опции командной строки (об их использовании далее) имеют приоритет над директивами конфигурационного файла. В том числе опция для установки используемого порта приводят к тому, что Port в конфигурационном файле игнорируется. Но порты указанные с ListenAddress перезаписывают порты в строке команды.

Вы можете указать конкретный IP, который будет прослушиваться в ожидании подключений. А опцией AddressFamily вы можете выбрать для прослушивания все адреса, только IPv4 или только IPv6:

Как настроить SSH сервер (sshd)

Служба sshd считывает настройки из конфигурационного файла /etc/ssh/sshd_config. Этот файл содержит пары «ключевое слово — аргумент», одна пара на одной строке. Для каждого ключевого слова будет использовано первое полученное значение (исключение составляют несколько директив, которые можно использовать несколько раз, и каждого значение будет учтено, например это Port и ListenAddress).

Опционально аргументы можно заключить в двойные кавычки («), чтобы передать аргументы, содержащие пробелы.

Ключевые слова не чувствительны к регистру, а аргументы чувствительны к регистру.

Многие директивы закомментированы, но они указывают на значение по умолчанию, которое всё равно используется. Если вас устраивает значение по умолчанию, то не нужно ничего менять. Если же вы хотите другое значение, то нужно раскомментировать строку с соответствующей директивой (убрать символ #) и внести изменения.

Дополнительно можно указать опции командной строки — они имеют приоритет над настройками в конфигурационном файле.

Как разрешить подключение только с определённого IP или группы IP. Как заблокировать определённые IP для SSH

Возможно ограничить ключ ssh или ключ на основе ca набором адресов в файле .ssh/authorized_keys домашнего каталога данного пользователя:

Запуск SSH без отсоединения от терминала

Запуск службы sshd описан в первой части. Также демон sshd можно запустить по имени файла. Для этого нужно указать полный путь до файла sshd, чтобы его узнать:

Запущенная таким образом sshd отключиться от терминала (перейдёт в фоновое выполнение) и не будет выводить что-либо в стандартный вывод.

Можно запустить sshd как процесс без отсоединения от терминала (чтобы процесс не стал демоном), для этого используйте опцию -D — это позволяет упростить процесс мониторинга работы SSH, поскольку сообщения о событиях и проблемах службы будут выводиться в стандартный вывод. Дополнительно можно указать опцию -d для включения режима отладки:

sudo /usr/bin/sshd -D -d

Запрет и разрешение входа в SSH по паролю обычным пользователям

Чуть выше мы рассмотрели вариант, когда пользователю root запретить вход по паролю. Такую же настройку можно сделать для всех остальных пользователей, для этого используется директива PasswordAuthentication. Значением по умолчанию является yes, то есть вход по паролю разрешён. Для запрета входа по паролю всем пользователям, установите значение этой директивы на no.

Разрешение входа без пароля

За разрешение входа без пароля отвечает директива PermitEmptyPasswords. Она нужна для специфичных случаев, чтобы разрешить вход аккаунтам с пустой парольной строкой. По умолчанию установлена на no.

Оцените статью
Master Hi-technology
Добавить комментарий