Не получается подключиться к серверу по ssh ключу, пишет: Server refused our key (Сервер отказался от нашего ключа)..
1. Создал 2 ключа приватный и публичный через PuTTYgen. Далее скопировал содержимое публичного ключа в файл на сервере .shh/authorized_keys
2. В самом PuTTY в разделе ssh-auth выбираю приватный ключ, который расположен у меня на ПК
3. Нажимаю в Putty кнопку connect, ввожу в консоли команду ssh пользователь@ip адрес - и пишет фразу: Server refused our key (Сервер отказался от нашего ключа)
Права доступа такие: 700 ~/.ssh 600 ~/.ssh/authorized_keys
Не пойму, что делаю не так, подскажите пожалуйста!!
На сервере нужно еще разрешить авторизацию по ключу PubkeyAuthentication yes
если используется root то еще и PermitRootLogin yes
Удостоверься что путь до файла не сменили AuthorizedKeysFile .ssh/authorized_keys
Проверь что НЕТ чего то типа AuthorizedKeysFile none
Ну и что бы уж точно понять что не так, включи лог LogLevel DEBUG3
и перезапусти сервер sudo systemctl restart sshd
логи тут /var/log/auth.log
upd. ты ключи настраивал на клиенте в putty а коннектиться пытаешься к серверу с сервера... либо переноси приватный тоже ключ на сервер либо ты не то что то делаешь
похоже что автор решил, что настроив доступ к своему серверу с домашнего компика, он получил доступ ко всем остальным серверам в мире.
Ну или я не знаю с чего он решил, что сервер "ip адрес" вдруг будет его пускать при коннекте с убунты.
Петровский, вы вообще понимаете, что вы настроили ключ для соединения домашнего компика с убунтой? А ключ для соединения убунты с "ip адрес" вы не настраивали?
Что это вообще за сервер, на который вы пытаетесь зайти, вводя ssh пользователь@ip адрес?
rPman , Всё проверил по вашим пунктам в файле sshd_config, все верно проставлено. Сервис ssh перезапустил. Проблема осталась. Единственное в логах увидел такую фразу: sshd[29386]: Accepted password for root from ip**** port **** ssh2 (Принят пароль от root от ip адреса моего ПК с таким то портом).
Видимо он и правда привязан к моему пк, после генерации ключа в PuTTYgen. Но я делал это по инструкции из ютуб от нескольких блогеров, они так и делали.
Также я через саму консоль генерировал ssh ключи, файлы автоматически создавались в папке .ssh/
В данном случае заходя в консоль и ввожу: sh пользователь@ip адрес - следующей строкой предлагает ввести пароль, но ни один пароль не подходит, даже тот, который я вводил при генерации приватного ключа..
Ещё вопрос. Я не совсем пойму как добавить приватный ключ, который будет находиться на сервере, в PuTTY раздел ssh-auth.
Клиент - тот кто подключается, сервер - к кому подключаются.
Клиент генерирует ключи (приватный и публичный), приватный должен оставаться на клиенте, публичный копируют на сервер в файл .ssh/authorized_keys и там каждая строчка вида:
тип_ключа(например ssh-rsa) собственно_сам_ключ_в_baase64 любое имя для вашего удобства (подставляется обычно login@машина_клиента)
putty по умолчанию ключи еще в 'своем формате' хранит (он правда текстовый, легко переделать), но putty-gen отображает как нужно, и из окна строчку можно копировать прямо в linux машину.
Если при генерации ключей ты задал пароль - это пароль шифрования ключей, тогда при каждом использовании будет запрашиваться этот пароль (т.е. он локальный для клиента)
rPman, благодарю, у меня получилось зайти с помощью ssh ключа.
Вот что я сделал:
1. В консоли сгенерировал ssh ключи через команду: ssh-keygen -t rsa
2. Далее скопировал содержимое публичного ключа командой: cat ~/.ssh/id_rsa.pub
в файл authorized_keys.
Получилось в папке /.ssh два ключа: публичный и приватный.
3. Сам приватный ключ я скачал на свой ПК и импортировал в PuTTYgen, после сохранив в формате .ppk и от туда уже вставил в сам PuTTY в раздел ssh-auth. В разделе connection-data ввёл свой логин и всё это сохранил. После нажатия кнопки open, он успешно зашёл на мой сервер, минуя ввода логина и пароля.