SSH Permission denied (publickey) [Решено]

Не могу настроить свой SSH. Всё делаю из командной строки. После того, как я ввожу пароль, мне сообщается:
Authenticated with partial success.
Permission denied (publickey).

Что я уже сделал.
1) установил ssh
sudo apt-get install ssh

2) создал публичный и частный ключи
ssh-keygen -t dsa

3) скопировал публичный ключ id_dsa.pub в директорию на удалённом сервере ~/.ssh (как это требовал администратор сервера)

4) для соединения с удалённым сервером (указываю особый порт) использую

ssh -p 2042 [email protected]

или

ssh -p 2042 [email protected] -i ~/.ssh/id_dsa

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

Authenticated with partial success.
Permission denied (publickey).

Если я ввожу неправильный пароль, то мне об это прямо сообщается.

В директории ~/.ssh у меня не лежат никакие конфигурационные файлы. Но есть много конфигурационных файлов в /etc/ssh:

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

0
Youpiter - 28 Апрель, 2013 - 13:15
Изображение пользователя Youpiter.

Первое, что бросается в глаза: ssh слушает 22 порт, а подключиться пытаетесь через 2042

0
yarmol76 - 28 Апрель, 2013 - 15:28

На сервере это порт 2042. Если я указываю неправильный порт, то выводится "ssh: connect to host xx.xx.xx.xx port 22: Connection timed out". То есть порт можно уточнять в команде ssh, что я и делаю. Значит ошибка не в этом.

0
dm - 28 Апрель, 2013 - 15:03
Изображение пользователя dm.

3) скопировал публичный ключ id_dsa.pubв домашнюю директорию на удалённый сервер

Вероятно по этой причине не работает, так как по умолчанию ssh ищет ключи в файле ~/.ssh/authorized_keys а не в домашней директории. По этому либо копируй ключ правильно на сервер командой

ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine

либо на сервере редактируй конфиг sshd_conf, опция AuthorizedKeysFile

Вот еще почитай Настройка ssh для авторизации по ключу

0
yarmol76 - 28 Апрель, 2013 - 15:16

Уточню, что скопировал я ключ туда, куда сказал администратор. в директорию ~/.ssh/
Доступа к конфигу на удалённом сервере не имею.
Статью по ссылке я читал. Всё практически выполняю как там написано, но ошибка, вероятно, в каких-то особых конфигах скрыта.

0
dm - 28 Апрель, 2013 - 15:17
Изображение пользователя dm.

При настройках по умолчанию у тебя на клиентской стороне ключи должный быть в папке
$HOME/.ssh/
что-то типа id_dsa, id_dsa.pub

На стороне сервера публичные ключи хранятся в файле
$HOME/.ssh/authorized_keys

0
yarmol76 - 28 Апрель, 2013 - 15:28

Администратор мне сообщил, что публичный ключ id_dsa.pub нужно поместить в ~/.ssh, что я и сделал.
У меня на компьютере я знаю где хранится приватный ключ, и я могу указать его расположение явно так: ssh -p 2042 [email protected] -i ~/.ssh/id_dsa. Но это не помогает.

0
yarmol76 - 28 Апрель, 2013 - 15:28

Кстати, не очень понятно, как можно использовать команду ssh-copy-id, которая работает при помощи ssh, если сам ssh я ещё не настроил?
Я так сделал и мне вывелось: /usr/bin/ssh-copy-id: ERROR: No identities found

0
dm - 28 Апрель, 2013 - 15:35
Изображение пользователя dm.

Кстати, не очень понятно, как можно использовать команду ssh-copy-id, которая работает при помощи ssh, если сам ssh я ещё не настроил?

Имеется в виду, что есть доступ на сервер и до копирования ключей в ssh работает авторизация по паролю.

Можно попробовать на сервере из папки .ssh сделать

cat id_dsa.pub >> authorized_keys

это добавит ключ в конец файла authorized_keys

0
yarmol76 - 28 Апрель, 2013 - 15:52

Файл "authorization" с текстом "key id_dsa.pub" я также создал, как и требовал администратор. Это было сделано с самого начала.

0
yarmol76 - 1 Май, 2013 - 09:43

Ещё интересный момент. Администратор сервера предложить скачать и скомпилировать из исходных кодов свою особую программу и использовать её для создания файла ключей и подключения по ssh? o_O Что это может значить? Особый безопасный шел?

0
yarmol76 - 2 Май, 2013 - 12:38

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

0
Гость - 3 Ноябрь, 2020 - 09:13

Забавно. Ответ из 2013 помог с Яндекс.Облако в 2020

0
witus - 11 Январь, 2021 - 12:33

Строка: ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine просто спасла меня после недели мучений.

0
490 - 4 Март, 2021 - 04:44

Вы всю ветку обсуждаете файл id_dsa.pub, хотя в статье о генерации ключей идет речь о файле id_rsa.pub... Даже там специально выделили жирным шрифтом.
Второе: в файле sshd_config парметр AuthorizedKeysFile надо раскомментить

ssh -p 2042 [email protected] -i ~/.ssh/id_dsa <<< вот ошибка

0
Гость - 14 Апрель, 2021 - 13:07

У меня файл называется mySSH3 и он находится в домашнем каталоге. Почему-то при рестрате Ubuntu 18 про него забывает и приходится вновь будить ssh-agent и делать в домашнем каталоге где этот файл) ssh-add ./mySSH3

0
Гость - 30 Январь, 2022 - 01:48

Мне при ошибке Permission denied (publickey,password) помогло следующее:
На сервере проверил права на ~/.ssh/authorized_keys, оказалось -rw-------.
Я включил для "other" только чтение:
chmod o+r .ssh/authorized_keys
После чего заработало.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры