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 myname@XXX.XXX.XXX.XXX

или

ssh -p 2042 myname@XXX.XXX.XXX.XXX -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 myname@XXX.XXX.XXX.XXX -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 это не одно и тоже.

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

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