23 марта 2019 г.

SSH подключение по ключу

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

SSH может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая кладётся в домашний каталог пользователя на сервер, закрытая — в локальный домашний каталог пользователя.
На клиенте генерируем ключи

ssh-keygen -t rsa -b 2048

Команда 
ssh-copy-id root@server    [ssh-copy-id -p  333 user@serverIP]
 
позволяет скопировать ключ не редактируя файлы вручную.

cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

nano /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
service sshd restart
Клиент 2 вариант
  • Cоздаем открытый и закрытый ключ нашей локальной системы
    ssh-keygen -t rsa -q -N '' -f ~/.ssh/id_rsa
    или ssh-keygen -t rsa -b 2048
  • копируем открытый ключ на удаленную систему: scp ~/.ssh/id_rsa.pub root@IP:~
  • Заносим открытый ключ нашей локальный системы в авторизованные ключи удаленной системы, устанавливаем правильные права и "убираем за собой мусор":
    # [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh) # создаем директорию и даём права
    # cat ~/id_rsa.pub >> ~/.ssh/authorized_keys # добавляем открытый ключ
    # chmod 600 ~/.ssh/authorized_keys # делаем правильные права
    # rm ~/id_rsa.pub # удаляем не нужное
Сервер
  • Генерация пары ключей в Linux команда:

Комментариев нет:

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

Разработка PHP и MySQL с использованием Docker

Современные веб-разработчики часто сталкиваются с проблемами настройки окружения для проектов. Docker помогает стандартизировать и ускорить ...