Инструменты пользователя

Инструменты сайта


Боковая панель

knowledge_base:ssh_key_autorization

Допустим, вам необходимо настроить беспарольный вход по ssh (scp и sftp тоже) на удаленный сервер host под пользователем user. Если имя Вашего локального пользователя совпадает с удаленным, то user@ везде можно опустить.

  • Создаем открытый и закрытый ключ нашей локальной системы
ssh-keygen -t rsa

нажимаем «Enter», отказываясь от ключевой фразы.

  • если в системе есть программа ssh-copy-id, то настраиваем удаленную систему на то, чтобы оно авторизировало ssh по открытому ключу
ssh-copy-id -i ~/.ssh/id_rsa user@host

если порт не стандартный (отличный от 22)

ssh-copy-id '-p 2202 -i ~/.ssh/id_rsa  user@host'

если ssh-copy-id нет, то можно сделать это вручную.

Последовательность действий:

  • копируем открытый ключ на удаленную систему
scp ~/.ssh/id_rsa.pub  user@host:~ 
  • Авторизуемся на удаленном сервере
ssh user@host
  • заносим открытый ключ нашей локальный системы в авторизованные ключи удаленной системы, устанавливаем правильные права и «убираем за собой мусор»:
remote$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh) # создаем директорию и даём права
remote$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys        # добавляем открытый ключ
remote$ chmod 600 ~/.ssh/authorized_keys                  # делаем правильные права 
remote$ rm ~/id_rsa.pub                                   # удаляем не нужное
  • проверяем, что все работает, запускаем на локальном компьютере.
ssh user@host
knowledge_base/ssh_key_autorization.txt · Последнее изменение: 2021/12/15 14:31 (внешнее изменение)