АгАртИ-А
Разработка АгАртИ-А.рф
- ^ X
SSH авторизация по ключу
[ \ ] [ .. ]
agarty@apache22.com [/list/SSH_login_po_kljuchu/]> ls -la

SSH авторизация по ключу

Создано: 2016-03-26 13:53:56

SSH авторизация по ключу

#FreeBSD 10.x> Сказание о том, как настроить авторизацию ssh по ключу.

Имеется система клиент  - client. На ней мы работаем, и с нее нам надо будет заходить на сервер без ключа. Система сервер - server. На него мы отправляем ключ, и к нему мы присоединяемся. На клиенте у нас юзер user, на сервере user_vasya.

0. На сервере настраиваем ssh:

#root@server> ee /etc/ssh/sshd_config

#Если хотим логинится от рута, тады раскоментируем строку и сделаем ей yes
#PermitRootLogin yes

#Эти строки отвечают за аутентификацию по ключу, пути нахождения ключей и прочее
PubkeyAuthentication yes
#Ведет в хом директорию
AuthorizedKeysFile .ssh/authorized_keys 
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
UseLogin no

Обязательно рестартим даемон ssh:

#root@server> service sshd restart

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

#root@server> mkdir /home/user_vasya/.ssh

Заметьте, эти операции производятся из-под рута. Но настройка аутентификации мы делаем для user_vasya. Если хотите под рутом заходить, то раскоментируйте строку  PermitRootLogin, и директорию создайте (если ее нет) так: mkdir ~/.ssh

1. Генерим новый ключ на клиентской машине

#user@client> ssh-keygen -t rsa -q -N '' -f ~/.ssh/id_rsa

2. Копируем ключ на сервер

#user@client> cat ~/.ssh/id_rsa.pub | ssh -p 22 user_vasya@server "cat >> ~/.ssh/authorized_keys"

Обратим внимание на то, что на клиентской машине у нас не user_vasya, а просто user. Т.е. пользователь под которым вы генерите ключ, и для которого - не важны. Не ну конечно важен user, так как у него вторая часть ключа как ни как =). Так что не парьтесь создавая учетки новые. Главное действующее лицо - ключ. И его мы этой командой отправили на сервер, в домашнюю папку user_vasya.

3. Усе. Проверяем работу

#user@client> ssh -p 22 user_vasya@server

Если все правильно сделали - сразу войдет на сервер.

Если хотите под рутом, то замените юзверя user_vasya на root.