Если вы пользователь ОС Windows:
Скачайте утилиты Pageant и PuTTYgen отсюда (если вы собираетесь использовать WinSCP для SFTP, то эти утилиты устанавливаются вместе с ним).
Чтобы сгенерировать свою пару публичного и приватного ключей, запустите puttygen.exe. В окне программы нажмите кнопку Generate и немного поводите указателем мыши по пустой области в верхней части окна.
Затем придумайте пароль для ключа и дважды введите его в полях Key passphrase и Confirm passphrase. Это необязательно, пароль можно оставить пустым, но мы настоятельно рекомендуем все-таки ввести его и, более того, сделать длинным и сложным.
После этого сохраните получившиеся ключи, нажав на кнопки Save public key и Save private key. Файл публичного ключа назовите, например, id_rsa.txt, файл приватного ключа — id_rsa.ppk. Также скопируйте текст из поля Public key for pasting into OpenSSH authorized_keys file и сохраните его в файл id_rsa_openssh.txt.
Ваш приватный ключ является секретным — ни в коем случае никому не передавайте его и нигде не публикуйте. Относитесь к нему, как к важному паролю. Публичные же ключи можно передавать и хранить в открытом доступе.
Запустите программу pageant.exe. В области уведомлений на панели задач появится его иконка: дважды кликните по ней, нажав в открывшемся окне на кнопку Add key, выберите файл своего приватного ключа и, указав пароль, активируйте его.
Поместите свой публичный ключ на сервер:
Для использования SSH:
На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл ~/.ssh/authorized_keys и поместите в него ваш публичный ключ из файла id_rsa_openssh.txt. Установите права 0700 на папку .ssh и 0600 на файл authorized_keys.
Здесь ~ — это домашняя директория вашего аккаунта (там, где находится папка domains).
Для использования SFTP:
На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл ~/.sftp/authorized_keys и поместите в него ваш публичный ключ из файла id_rsa.txt. Установите права 0700 на папку .sftp и 0600 на файл authorized_keys.
Здесь ~ — это домашняя директория FTP-аккаунта. Если вы собираетесь использовать основной FTP-аккаунт, то папку .sftp нужно создать в вашей корневой директории, рядом с папкой domains, если дополнительный — в той папке, которую вы указывали при создании этого FTP-аккаунта.
В файл authorized_keys можно поместить сразу несколько публичных ключей — для разных людей.
Далее достаточно просто подсоединиться к серверу по SSH с помощью PuTTY или по SFTP с помощью SFTP-клиента, поддерживающего авторизацию по ключу (например, WinSCP или FileZilla) без указания пароля. Программа должна сама определить, что для авторизации необходимо использовать ключ.
Если вы пользователь Mac OS или Linux:
Откройте терминал и введите в него команду:
ssh-keygen
Ответ на вопрос об имени файла оставьте пустым (будет взято значение по умолчанию), затем придумайте и введите пароль. Это необязательно, пароль можно оставить пустым, но мы настоятельно рекомендуем все-таки ввести его и, более того, сделать длинным и сложным.
В результате в папке .ssh внутри вашей домашней директории появятся файлы key_rsa и key_rsa.pub. Теперь введите следующую команду:
ssh-keygen -ef ~/.ssh/key_rsa_alt > ~/.ssh/key_rsa_alt.pub
Это создаст в той же папке файл key_rsa_alt.pub, в котором будет находиться ваш публичный ключ в немного другом виде.
Ваш приватный ключ является секретным — ни в коем случае никому не передавайте его и нигде не публикуйте. Относитесь к нему, как к важному паролю. Публичные же ключи можно передавать и хранить в открытом доступе.
Поместите свой публичный ключ на сервер:
Для использования SSH:
На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл ~/.ssh/authorized_keys и поместите в него ваш публичный ключ из файла key_rsa_alt.pub. Установите права 0700 на папку .ssh и 0600 на файл authorized_keys.
Здесь ~ — это домашняя директория вашего аккаунта (там, где находится папка domains).
Для использования SFTP:
На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл ~/.sftp/authorized_keys и поместите в него ваш публичный ключ из файла key_rsa_alt.pub. Установите права 0700 на папку .sftp и 0600 на файл authorized_keys.
Здесь ~ — это домашняя директория FTP-аккаунта. Если вы собираетесь использовать основной FTP-аккаунт, то папку .sftp нужно создать в вашей корневой директории, рядом с папкой domains, если дополнительный — в той папке, которую вы указывали при создании этого FTP-аккаунта.
В файл authorized_keys можно поместить сразу несколько публичных ключей — для разных людей.
Активируйте свой ключ на локальном компьютере, для этого в терминале введите команду:
ssh-add
В ответ на вопрос терминала о пароле укажите тот пароль, который вы придумали при создании ключа.
Далее достаточно просто подсоединиться к серверу по SSH через терминал или по SFTP с помощью SFTP-клиента, поддерживающего авторизацию по ключу (например, FileZilla) без указания пароля. Программа должна сама определить, что для авторизации необходимо использовать ключ.