LINUX.ORG.RU
ФорумAdmin

Не могу подключиться по SSH

 , , ,


0

1

Господа, за свою жизнь уже убил целую кучу времени (~30 человеко-часов) на этот чертов OpenSSH и до сих пор видать чего-то не вкуриваю, возможно потому что я не обучаем. Меня никак не пускает на какой-либо сервер с включенным sshd демоном слушающим 22 порт. И я не понимаю в чем на клиенте проблема (или на хосте?)

Как только не пытался и ssh-copy-id -i путь до публичной части ключа c явным указанием порта и юзер@IP и просто без указания, в конфиге /etc/ssh/sshd_config даже включил аутентификацию по паролю, перезагрузил демона и все равно не дает даже по паролю зайти лол!

У себя на клиенте конечно же сгенерировал ключи, файл known_hosts удаляю после неудачной попытки дабы перегенерить его. Помогите пожалуйста разобраться с этим делом и с тем, что я все-таки не так делаю. Прошу простить за этот тривиальный вопрос, но уже разбил лоб и все равно понимание не приходит как «заводить новую машину-клиента» в authorized_keys сервера. Я могу конечно просто руками скопировать публичную часть и засунуть куда надо через VNC консоль дропплета, но так ведь не правильно делать, что будет если у меня условно говоря не будет доступа к этой консоли или например мне нужно будет нафаршировать кучу серваков с помощью Ansible, как быть то?



Последнее исправление: NorthernBlow (всего исправлений: 1)

Как только не пытался и ssh-copy-id -i путь

А зачем тебе ssh-copy-id, если тебя на сервер не пускает?

перезагрузил демона и все равно не дает даже по паролю зайти лол!

И как ты тогда зашёл, чтобы перезапустить sshd?

Я могу конечно просто руками скопировать публичную часть и засунуть куда надо через VNC консоль дропплета, но так ведь не правильно делать, что будет если у меня условно говоря не будет доступа к этой консоли или например мне нужно будет нафаршировать кучу серваков с помощью Ansible, как быть то?

У тебя какая-то каша в голове. Чтобы управлять сервером через ansible, у тебя УЖЕ должен быть доступ на этот сервер. По паролю или по ключу, не важно. Но он уже должен быть

router ★★★★★
()
Ответ на: комментарий от router

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

NorthernBlow
() автор топика

дропплета

Дай угадаю, у тебя есть пароль root, но доступ root по паролю в openssh запрещён

grep -i root /etc/ssh/sshd_config
#PermitRootLogin prohibit-password

варианты:

  • временно разрешить доступ по паролю, чтобы скопировать ключ через ssh-copy-id и не забыть обратно запретить доступ root по паролю
  • скопировать ключ через консоль (vnc?) облачного провайдера
  • (продвинутый вариант) в следующий раз не забывать добавлять ключ при создании новой ВМ в облаке
  • (экспертный вариант) научиться пользоваться terraform/OpenTofu

Но сначала всё же научись работать с openssh

  • попробуй зайти на сервер по ssh. не получилось. через консоль (vnc?) облачного провайдера смотри лог (auth.log или secure). Там найти попытку входа и результат
  • временно поменяй в конфиге openssh LogLevel DEBUG и ещё раз попробуй зайти. Попробуй найти в логе причину, по которой тебя не пустило. Верни LogLevel INFO
  • попробуй подключиться с ключом -v. найди в выводе, какие механизмы аутентификации клиент пробовал, и с каким результатом
  • вообще-то LogLevel INFO вполне достаточно. Теперь у тебя хватит информации чтобы понять, почему тебя не пустило, поменять в конфиге PermitRootLogin и проверить
router ★★★★★
()
Ответ на: комментарий от router

Это я все смотрел и делал, значит ты так же не понимаешь что из себя представляет реализация протокола ssh и продолжаешь кидаться говном что самое главное.

NorthernBlow
() автор топика

Вот что делает с людьми systemd! Они не могут представить себе запуск демона без systemd.

Куда мы катимся ?!

Запусти sshd прямо из консоли с отладкой и явным указанием какой-нибудь другого порта. Посмотри что оно говорит при запуске. Это проще, чем искать куда оно пишет логи.

Попробуй зайти на это порт через localhost и посморти что говорит sshd при этом подключении.

vel ★★★★★
()

Как уже написали, запусти sshd ручками, с дебагом и выводом ошибок в терминал. При подключении используй максимальный уровень логирования: ssh -vvv user@host

iron ★★★★★
()
Ответ на: комментарий от burato

По паролю не пускает, sshd_config прописал чтобы пускало и под рутом тоже. После чего перезагружал sshd

NorthernBlow
() автор топика
Последнее исправление: NorthernBlow (всего исправлений: 1)
Ответ на: комментарий от NorthernBlow

Скажи а ты грамоте обучен? В уведомлениях явно написано, кто поставли реакцию.

И кстати. Задумался бы над числом реакций с клоуном ;)

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от NorthernBlow

А если представить, что у меня нет доступа к этому серверу, я что, всегда должен руками заносить туда ключ?

Лол. Если у тебя нет доступа к серверу, то у тебя нет доступа к серверу. Попроси кого-нибудь, у кого есть доступ, завести тебе учётку

router ★★★★★
()
Ответ на: комментарий от router

Лол. Если у тебя нет доступа к серверу, то у тебя нет доступа к серверу. Попроси кого-нибудь, у кого есть доступ, завести тебе учётку

так погоди, я же хочу подключиться к этому серверу из-под другой машины. На остальных у меня есть к нему доступ по SSH. Почему я должен брать публичную часть ключа и идти руками прописывать его? Есть другие варианты подружить?

NorthernBlow
() автор топика
Ответ на: комментарий от NorthernBlow

Так, смотри. Ты 30 часов (уже больше) не можешь разобраться с проблемой, которую нашёл на ровном месте

И ты же стойко игнорируешь предложения привести сюда вывод команды, которой подключаешься, и строк из лога сервера (auth.log или secure), в которых видны были бы попытки подключения

Как ты думаешь, у кого-нибудь осталось желание угадывать детали, которые ты не хочешь сообщить?

Скорее всего, причина какая-то глупая. Например, ты путаешь сервер ssh с клиентом ssh

Но всё же попробуем. Твои пароли и внешние адреса никому не нужны. Но тебе придётся собраться и рассказать подробности

Например, так:

Всем привет, я NorhernBlow и я начинающий алког^W линуксоид

У меня есть сервер hostname1, к которому у меня не получается подключиться по ssh. На сервере ОСь ubuntu/frebsd/windows/macos/aix/msdos

На сервере у меня есть
* пароль root
* или учётка username1, к которой я знаю пароль
* или учётка username1, к которой я подключаюсь с другого хоста hostname2 по ключу

у меня не получавется подключиться с компа hostname2. На компе kali/windows_vista/beos/hpux/freedos. Для подключения и использую клиент openssh/putty/securecrt/windows_ssh/кулмегахакерское_приложение

Когда я пробую подключиться и у меня не получаетя, я вижу в приложении это:
* (копипаста вывода утилиты)
* (скриншот с окном putty)

В логе сервера я вижу
* (копипаста из лога)
* я не нашёл лог

при этом у меня есть другой способ доступа к серверу, а именно: (как ты туда попадаешь)
router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от NorthernBlow

я же хочу подключиться к этому серверу из-под другой машины. На остальных у меня есть к нему доступ по SSH. Почему я должен брать публичную часть ключа и идти руками прописывать его? Есть другие варианты подружить?

Видимо публичные ключи других машин уже прописаны на сервере - и явно это сделал кто-то другой) Если тебе самому в лом прописать на сервере публичный ключ очередного клиента - даже имея доступ к серверу с других машин! - то есть один вариант: слёзно попроси того, кто прописывал до этого на сервере ключи других машин)

vinvlad ★★
()

Автор, где-то в самом начале я тебя попросил показать логи. Потом тебя еще пять раз попросили, но ты упорно не показываешь и показательно страдаешь и играешь в снежинку. Остаётся один вопрос - ты нахрена сюда тогда приперся вообще?

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

Zhbert ★★★★★
()