Слетают ключи SHH при входе на сервер просит пароль

12
B
На сайте с 04.09.2014
Offline
11
5178

Два сервера, на обоих настроил ключи для входа без пароля. Собственно скопировал

 

scp root@111.ХХ.ХХ.11:~/.ssh/id_rsa ~/.ssh/id_rsa
scp root@222.ХХ.ХХ.22:~/.ssh/id_rsa ~/.ssh/id_rsa2

Потом оба добавил


ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa2

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

Сам ключ лежит на месте ~/.ssh/id_rsa2 . Если после перезагрузки я его снова добавляю ssh-add, то всё нормально, до следующей перезагрузки. Потом снова просит пароль.

Подскажите пожалуйста как с этим бороться.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

Права и владельца файлов проверяйте, должно быть 700.

А вообще ключи копируются командой ssh-copy-id

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Glueon
На сайте с 26.07.2013
Offline
172
#2

Если правильно понял проблему, то такое поведение логично.

На первый сервер логиниться, так как при подключении без параметров ssh по умолчанию используют ключ, который лежит в ~/.ssh/id_rsa. Ключ ~/.ssh/id_rsa2 используются, только если он добавлен с помощью ssh-add в текущий ssh-agent, который после перезагрузки автоматически этот ключ не подтягивает, либо если его явно указать (ssh -i ~/.ssh/id_rsa2)

Нужно либо автоматически добавлять ключ в ssh-agent в каком-нибудь загрузочном скрипте, либо сделать так, чтобы соотвествующий ключ выбирался сам на основе, к примеру, IP сервера.

Тогда нужно добавить в настройку ssh клиента что-то типа:

IdentityFile ~/.ssh/ids/%h/id_rsa

Тогда приватный ключ для 1.1.1.1 будет искаться в ~/.ssh/ids/1.1.1.1/id_rsa.

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
VK
На сайте с 29.12.2011
Offline
42
#3

bumokep, переименуйте ~/.ssh/id_rsa2 в ~/.ssh/id_rsa на втором сервере.

Но вообще правильнее и проще добавлять свой публичный ключ в authorized_keys.

B
На сайте с 04.09.2014
Offline
11
#4

Glueon, у меня Ubuntu, захожу с консоли. Как в этом случае настроить, Подскажите пожалуйста

---------- Добавлено 20.09.2014 в 18:19 ----------

V2NEK:
bumokep, переименуйте ~/.ssh/id_rsa2 в ~/.ssh/id_rsa на втором сервере.
Но вообще правильнее и проще добавлять свой публичный ключ в authorized_keys.

на серверах всё идентично, публичные ключи именно в authorized_keys. На клиенте барахлит что-то. Использую ssh в консоли без параметров и доп настроек. В стандартных туториалах только про настройку одного сервера пишут :(

Glueon
На сайте с 26.07.2013
Offline
172
#5

bumokep, есть несколько вариантов.

Например в /etc/ssh/ssh_config добавить:

Host 2.2.2.2
IdentityFile ~/.ssh/id_rsa2

Тогда для 1.1.1.1 и всех остальных IP будет использоваться по умолчанию - ~/.ssh/id_rsa.

Либо как я писал в первый раз, заменить/добавить в /etc/ssh/ssh_config после директивы "Host *" строчку:

IdentityFile ~/.ssh/ids/%h/id_rsa

Тогда ключ ~/.ssh/id_rsa надо переместить в ~/.ssh/ids/1.1.1.1/id_rsa и ~/.ssh/id_rsa2 соотвественно в ~/.ssh/ids/2.2.2.2/id_rsa.

Ну и конечно никто не мешает в ~/.bashrc добавить:

ssh-add ~/.ssh/rsa2
B
На сайте с 04.09.2014
Offline
11
#6

Glueon, спасибо. А если у меня root и два пользователя на одном сервере, как поступают в таких случаях?

Glueon
На сайте с 26.07.2013
Offline
172
#7

Поясните задачу. Где что?

B
На сайте с 04.09.2014
Offline
11
#8

Glueon, ну на сервере я сделал по вашему совету

IdentityFile ~/.ssh/ids/%h/id_rsa

для трех серверов папки и в них положил ключи. Но я захожу на сервер не только под рутом, но и под обычным юзером. Можно ли ещё и для юзера по ключу вход сделать? Чтобы в обоих случая пароль не использовать

Andreyka
На сайте с 19.02.2005
Offline
822
#9

Можно. В пользовательских директориях.

Не стоит плодить сущности без необходимости
B
На сайте с 04.09.2014
Offline
11
#10

Andreyka, а так вообще кто-нибудь делает, или вход по ключу только для одного пользователя делается всегда? Может я что-то не то хочу сделать, чего никто не делает))

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий