SSHd: Генерируем ssh-ключи на WIndows для безопасного доступа к серверам

Linux

В этой заметке рассмотрим создание ssh ключей для sshd авторизации на Unix подобных операционных системах (linux, bsd).

Многие из нас используют для доступа к своим серверам протокол ssh и парольную авторизацию.

Что дает злоумышленникам организовать брутфорс-атаки.

SSH авторизация позволяет вместо парольной защиты использовать ключевую пару состоящую из открытого и закрытого ключа (приватный и публичный ключ).

Ключ можно усилить парольной защитой.

SSHd сервер можно настроить на авторизацию только по ключам.

Авторизация по ключам позволяет не публиковать пароли в пользовательских скриптах (scp, pscp, plink и т.п.).

Для реализации нашей задачи, нам потребуется утилита PuTTYgen.

PuTTYgen входит в дистрибутив Putty или можно ее скачать отдельно с официального сайта разработчика  (32 bit / 64 bit).

Запускаем PuTTYgen

PuTTYgen

  • Выбираем тип ключа — RSA
    Существует две версии RSA, RSA1 является небезопасным и устаревшим.
    В PuTTYgen используется алгоритм RSA второй версии.
  • Указываем длину ключа (по умолчанию используется 2048 битный ключ)
  • Нажимаем Generate
PuttyGen Generate keys
Двигаем мышкой, генерируем ключи

 

PuttyGen конец генерации ключей
PuttyGen конец генерации ключей
  • Можно установить пароль в поле Key passphrase и повторить его в поле Confirm passphrase
  • Сохраняем приватный ключ, именование на вашу усмотрение.
  • Выделяем публичный ключ и копируем его (Ctrl+C), должна получится одна строка:
    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxqkN6BjwMaaaUAks6ICC0nrWNc/W8TXJsEPMCk2/toYltLEtWglH1ykUJeeHpLk2R6CWvHIzkGFLiDzZ2Hjr5VYXlBiYM+63RUcfTSb/53/OXap2XEapkelumSNZ6AKxG2+TfuJK5qkr6HluMYseA3ijQT9c1cK4Yk5TAf8ArARJbCkBRC7HpM0yN1VxgFVfajEL8Za7BZe3tw+oiKK9LyKp6q5T4vw34QzDdMyNjxa7GtUlFnF5HJ2gE9KQJv72bkhBfwVJfteoZWiiAwQtgd4O8KG0iJnAcJoS8pZIe6u+/7EECXOKph9H/CdsYx1g2IpxOmAruRpzrMt8fCm1JQ== rsa-key-20210314
  • Логинимся на сервере используя связку login-password
    Открываем файл на запись:
    vi ~/.ssh/authorized_keys

    И вносим в него данные нашего открытого ключа

В SSH-клиенте указываем, что используем ssh-ключ, я использую PuTTy

PuTTY SSH key
Указываем приватный ключ

Пробуем залогиниться указав только имя, если все сделано правильно, войдем в систему:

login as: username
Authenticating with public key "rsa-key-20210314"
Last login: Sun Mar 14 12:44:21 2021 from 1.1.1.1

После этого можно отключить возможность авторизации по паролю:
Linux:

$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication no

Перезапустим sshd сервис:

$ sudo service ssh restart

FreeBSD:

> sudo vi /etc/ssh/sshd_config
PasswordAuthentication no

Перезапустим sshd сервис:

> sudo service sshd restart
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 958.
Performing sanity check on sshd configuration.
Starting sshd.

Использование утилиты Plink (для выполнение команд на удаленном сервере):

plink -batch username@server.ru df -h
Filesystem            Size    Used   Avail Capacity  Mounted on
zroot/ROOT/default     15G    4,1G     11G    27%    /
devfs                 1,0K    1,0K      0B   100%    /dev
zroot/tmp              11G    3,9M     11G     0%    /tmp
zroot                  11G     96K     11G     0%    /zroot
zroot/usr/home         11G     96K     11G     0%    /usr/home
zroot/var/log          11G     49M     11G     0%    /var/log
zroot/var/audit        11G     96K     11G     0%    /var/audit
zroot/var/crash        11G     96K     11G     0%    /var/crash
zroot/usr/ports        13G    1,9G     11G    14%    /usr/ports
zroot/var/tmp          11G    160K     11G     0%    /var/tmp
zroot/var/mail         11G    128K     11G     0%    /var/mail
zroot/usr/src          11G     96K     11G     0%    /usr/src

Plink так же авторизуется по ключу указанному в сессии Putty — server.ru (название сессии).

На этом все, если есть какие-либо замечания-дополнения — добро пожаловать в комментарии.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.