Невозможно войти на хост через ssh, просто посмотрите «Соединение закрыто» в authlog

2980
Andre M

Я пытаюсь разрешить пользователю удаленный доступ к хосту Linux для непрерывного развертывания, но я не уверен, почему пользователь не может подключиться к хосту, несмотря на настройку открытого ключа.

На хост-компьютере в папке пользователя находятся следующие файлы ~/.ssh:

  • authorized_keys
  • config
  • github.project1.key

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

Связь с удаленного хоста проверяется через (не реальные значения):

ssh validuser@devhost -i ~/.ssh/myprivatekey.key 

Для этого мы получаем:

Permission denied (publickey) 

Пытаясь проанализировать ситуацию на хосте /var/log/auth.log, я просто вижу эту запись:

Oct 16 14:59:10 devhost sshd[24020]: Connection closed by 62.70.23.213 port 51759 [preauth] 

Как ни странно, если я попробую неверного пользователя (без учетной записи на хосте) во время ssh, я получу:

Oct 16 15:11:17 devhost sshd[24069]: Invalid user xubuntu from 67.70.26.223 Oct 16 15:11:17 devhost sshd[24069]: input_userauth_request: invalid user xubuntu [preauth] Oct 16 15:11:17 devhost sshd[24069]: Connection closed by 62.70.23.213 port 51888 [preauth] 

Другие примечания:

  • пользователь по умолчанию - Ubuntu, к которому мы можем получить доступ
  • здесь нет /etc/nologin
  • насколько я могу судить, /etc/passwdразрешен вход в систему, основываясь на том, что bash указан как shell
  • host - это размещенная виртуальная машина на основе Ubuntu

У кого-нибудь есть какие-либо идеи?

1

2 ответа на вопрос

1
marshki

Является ли sshсервис запущен на удаленном (Ubuntu) машины? Проверьте это с: sudo service ssh status

Если он не установлен, добавьте его: sudo apt-get install open-ssh server

При необходимости вы можете настроить сервис с помощью:

sudo vi /etc/ssh/sshd_config

но убедитесь, что вы знаете, что вы хотите сделать, прежде чем редактировать этот файл.

Чтобы перезапустить службу, выполните:

sudo service ssh restart,

0
Andre M

При сравнении authorized_keysфайла выясняется, что он не совсем совпадает с файлом на хосте, с которого он был скопирован (разница в длине 4 байта). Повторное копирование содержимого привело к возможности входа в систему.

Я надеялся, что /var/log/auth.logфайл будет очищен на предмет того, что ключ недействителен, хотя я полагаю, что этого можно было бы достичь, настроив уровень входа в систему /etc/ssh/sshd_config(по умолчанию INFO).