Наш не заменимый SSH (англ. Secure Shell — «безопасная оболочка») предлагаем нам не только авторизацию по паролю , но и авторизацию по ключам. Что ко нечто является более безопасным способом авторизации.
Есть два способа генерации ключей. На стороне сервера или на стороне клиента. То есть вы генерируете ключи на сервере и оправляете клиенту приватный ключ или вы делаете все наоборот и отправляете серверу публичный ключ.
Начнем с первого способа, с генерации ключей на сервере:
Первым делом зайдем в файл настройки и проверим его.
nano /etc/ssh/sshd_config
PubkeyAuthentication yes #авторизация по публичному ключу. AuthorizedKeysFile %h/.ssh/authorized_keys #путь к ключу.
Если этих строчек нету, то добавим их и сохраним настройки.С генерируем ключи RSA длинной 2048 бит. Или может использовать другой алгоритм DSA.
ssh-keygen -t rsa -b 2048
Enter file in which to save the key: Здесь спрашивается путь куда установить ключи, можно оставить по умолчанию.
Enter passphrase (empty for no passphrase): Это пароль для доступа к ключу, можно оставить пустым.
ssh-keygen -t dsa -b 2048
В папке /home/user/.ssh появиться два ключа:
id_rsa приватный ключ.
id_rsa.pub публичный ключ.
Приватный ключ надо скачать с сервера, а публичный переименовать в authorized_keys.
cat id_rsa.pub > authorized_keys
Теперь перейдем к нашему незаменимому Putty. К сожалению он не понимает данный формат ключа и нам надо его конвертировать.
Качаем утилиту из набора для генерации ключей : puttygen
Загружаем наш скаченный ключ.
Теперь сохраняем приватный ключ в формате putty. Теперь подключаемся через Putty с использованием ключа и вводим login пользователя.
В консоли вы увидите Authenticating with public key «imported-openssh-key» .
Если у вас не будет подключаться и в лог файле /var/log/auth.log написано : Authentication refused: bad ownership or modes for directory то у вас проблемы с правами на файл и директории.
Права на папку .ssh должны быть 700.
На файлы в папке 600.
На папку /home 755.
Генерация ключей в Putty.
Открываем puttygen, выбираем алгоритм и длину ключа. Можем добавить комментарий и пароль на приватный ключ.
Нажимаем Generate и двигаем хаотично мышкой. Сохраняем приватный ключ,не закрываем программу.
Заходим на сервер, переходим в папку /home/user/.ssh( /root/.ssh) , если ее нету то создаем.
Создаем файл authorized_keys и копируем в него содержимое публично ключа из программы. Сохраняем, выставляем права на файл и папку. Все .
Не забывайте, передавать на сервер публичный ключ намного безопасней чем с сервера приватный. Успехов.
Основные настройки SSH описаны в этой статье.
Denian/Ubuntu. На других Linux дистрибутивах установка может отличаться