Настраиваем доступ на сервер по ключу
Доступ на сервер по ключу - значительно повышает безопасность сервера!
ВНИМАНИЕ! - Если потеряете ключ, то придется переустанавливать сервер либо искать сложные способы его восстановления!
создаем rsa-ключ длиной 4096 бит на своем компьютере
ssh-keygen -t rsa -b 4096
Программа предложит создать пароль для ключа - придумываем пароль!
Появятся 2 файлика в папке .ssh - по имени id_rsa и id_rsa.pub
Файлик id_rsa - это ключ для входа на сервер - его нужно беречь, ни кому не передавать и главное не терять!
Для своего супер секретного ключа id_rsa установи права 600
chmod 600 /путь к файлику/id_rsa
Файлик с расширением .pub копируем на удаленный сервер
так,
cat .ssh/id_rsa.pub | ssh root@79.137.79.181 "cat >> .ssh/authorized_keys"
Проверяем авторизацию по ключу
ssh -i '/путь/.ssh/id_rsa' root@server
При авторизации должен быть запрошен пароль ключа
Вводим пароль который придумали при создании ключа…
Если авторизация удалась, то настраиваем на сервере файл sshd_config
Установим запрет на парольную и всякую host-based аутентификацию
nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys (необходимо раскомментировать)
Если на сервере вообще хотим запретить авторизацию по паролям: После этого вы не сможете логинится на сервер по паролю! Только по ключу!
PasswordAuthentication no
PermitEmptyPasswords no
Protocol 2
увеличиваем время сессии (чтобы долго не закрывалось соединение по ssh)
TCPKeepAlive Yes
ClientAliveInterval 60
ClientAliveCountMax 360
Перезагружаем ssh: service ssh restart
Обязательно! Не закрывая окно терминала, откройте новое и проверьте доступ по ключу, если удалось залогинится значит все ок. Если доступа нет, то в открытом ранее окне, сможете еще раз поправить конфиг sshd_config