* из семейства обрабатываемых адресов можно выбрать:
-- IPv4
Код (Text):
AddressFamily inet
-- или IРv6
Код (Text):
AddressFamily inet6
-- или работу сразу обеих семейств
Код (Text):
AddressFamily any
Я выбираю только IPv4
* разрешаем работу с протоколом sha 2, т.к. sha 1 не безопасен
Код (Text):
Protocol 2
* запрещаем пользователю root авторизоваться по ssh
Код (Text):
PermitRootLogin no
* если нужно, предоставляем доступ по SSH только указанным пользователям, к примеру test и user3
Код (Text):
AllowUsers test user3
* если нужно, предоставляем доступ по SSH только группе, к примеру admins
Код (Text):
AllowGroups admins
* запрещаем удаленный доступ с использованием пустого пароля
Код (Text):
PermitEmptyPasswords no
* сохраняем, подтверждаем и выходим из sshd_config (Ctrl+o– сохранить, Enter– подтвердить, Ctrl+x– выйти)
- перезагружаем SSH-сервер
Код (Text):
sudo service ssh restart
- смотрим какой ip-адрес у сервера в сети.
Код (Text):
ifconfig
ip-адрес нужен для удаленной работы через PuTTY (что такое PuTTY см. здесь)
- запускаем PuTTY:
* переходим "Сеанс", вбиваем ip-адрес сервера и порт (порт вбиваем тот, на который поменяли в sshd_config, 2222)
* в "Управление сеансами" вводим любое понравившееся название (к примеру test) и нажимаем "Сохранить", а далее - "Соединиться"
- авторизация на основе SSH2 RSA - ключей:
* место хранения по умолчанию
Код (Text):
/home/test/.ssh
где test – имя учетной записи
* на стороне клиента для создания пары ключей (приватный и публичный) запускаем RunPuTTYgen из пакета PuTTY и в нем выполняем следующее:
-- задаем параметры ключа (предпочтительные: "Тип ключа для генерации" выбираем SSH2-RSA, "Длина генерируемого ключа" указываем не менее 2048)
-- нажимаем напротив "Генерировать ключевую пару" кнопку "Генерировать" и водим мышкой в поле программы до того момента пока не завершится генерация ключа
-- если для ключа нужен пароль, то вводим его в 2-х полях "Парольная фраза" и "Повторить пароль" (к примеру: ssh_123)
-- нажимаем напротив "Сохранить сгенерированные ключи" на кнопку "Личный ключ", даем название (к примеру key.ppk) личному ключу и сохраняем где удобно
-- нажимаем напротив "Сохранить сгенерированные ключи" на кнопку "Открытый ключ", даем название публичному ключу (к примеру key_pub) и сохраняем где удобно
-- RunPuTTYgen не закрываем
* заходим на сервер под тем пользователем, которому настраиваем доступ по SSH к серверу
* создаем папку для хранения публичного ключа пользователя по след. пути: /home/test/.ssh
Код (Text):
mkdir /home/test/.ssh
* изменяем права на созданную папку .ssh
Код (Text):
chmod 700 /home/test/.ssh
* создаем в новом каталоге .ssh файл authorized_keys
Код (Text):
nano /home/test/.ssh/authorized_keys
* копируем публичный ключ из окна RunPuTTYgen под надписью "Открытый ключ для вставки в файл authorized_keys формата OpenSSH", переходим в PuTTY и вставляем его в файл authorized_keys, нажав в окне PuTTY 1 раз ПКМ (Правую Кнопку Мыши), сохраняем и закрываем
* изменяем права на файл authorized_keys
Код (Text):
chmod 600 /home/test/.ssh/authorized_keys
* RunPuTTYgen можно закрыть
* настраиваем удаленный доступ с помощью SSH в PuTTY, предварительно закрыв PuTTY:
-- в "Управление сеансами" выбираем наш сеанс (к примеру ранее сохраненный test) и нажимаем "Загрузить"
-- переходим "Соединение">>"SSH">>"Аутентификация"
-- под "Файл с личным ключом для аутентификации" нажимаем "Обзор..." и выбираем путь к приватному ключу (к примеру key.ppk)
-- возвращаемся в "Сеанс", в "Управление сеансами" выбираем наш сеанс и нажимаем "Сохранить", а потом "Соединиться"
-- авторизация уже должна проходить с помощью пары ключей, а не обычного пароля пользователя (вводим теперь пароль от ключа: ssh_123). Это происходит из-за того, что мы привязали приватный ключ к сеансу "test" - если бы ключ не был привязан, то нужно было бы вводить пароль пользователя (Пароль пользователя: t_123)
* включаем авторизацию только по ключам:
-- открываем для редактирования конфигурационный файл SSH
Код (Text):
sudo nano /etc/ssh/sshd_config
-- вносим изменения следующим образом:
** авторизация при помощи ключей по умолчанию включена - если не включена, то включаем
Код (Text):
PubkeyAuthentication yes
** путь, по которому находятся публичные ssh-ключи - для каждого пользователя свой файл в его директории (если строка закомментирована, то ее раскомментируем)
Код (Text):
AuthorizedKeysFile %h/.ssh/authorized_keys
** сохраняем и закрываем конфигурационный файл SSH
** перезагружаем SSH-сервер
Код (Text):
sudo service ssh restart
** отключаем аутентификацию по паролю (предварительно убедившись в возможности доступа по ключам, закрыв и заново открыв PuTTY – доступ должен быть по ключам)
* открываем основной файл конфигурации SSH-сервера для редактирования
Код (Text):
sudo nano /etc/ssh/sshd_config
* отключаем аутентификацию по паролю
Код (Text):
PasswordAuthentication no
* сохраняем и закрываем конфигурационный файл SSH
* перезагружаем SSH-сервер
Код (Text):
sudo service ssh restart
* теперь можно работать удаленно с сервером через SSH-соединение - в нашем случае с помощью настроенной программы PuTTY.