Create ssh keys for ssh connect.
$ mkdir sshkeys
$ cd sshkeys
$ ssh-keygen -t rsa -b 4096 -f id_rsa
pass: 12345 (minimun 5 character)
Создались 2 файла id_rsa и id_rsa.pub. Публичный ключ id_rsa.pub кладем на сервер. Приватный ключ id_rsa оставляем для клиента.
Как положить публичный ключ id_rsa.pub на сервер.
Если ключ генерировался на сервере, добавим публичный ключ в файл autorized_keys.
$ touch /home/admin1/.ssh/authorized_keys
Если в предыдущей команде возникает ошибка, создать директорию .ssh:
$ sudo mkdir .ssh
$ cd /sshkeys
$ sudo cat id_rsa.pub >> /home/admin1/.ssh/authorized_keys а лучше от root`а:
# cat id_rsa.pub >> /home/admin1/.ssh/authorized_keys
Затем правим конфиг ssh, это файл /etc/ssh/sshd_config:
PermitRootLogin yes
...
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no # делаем невозможным логин без ключа просто по паролю
Рестартуем наш сервис SSH
$ service ssh restart
Наш приватный ключ id_rsa нужно конвертировать для работы из Windows через putty. Для этого есть два пути. Можно это сделать через командную строку в нашем Убунту с помощью пакета putty-tools, или с помощью программы puttygen.exe Windows.
In Ubuntu:
$ sudo apt install putty-tools
$ cd sshkeys
$ sudo puttygen id_rsa -o mykey.ppk
In Windows:
Скачиваем puttygen.exe
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
В puttygen.exe подставляем наш id_rsa и нажимаем "save private key". Если не хотим получать при коннекте сообщение "passphrase for key imported-openssh-key" и каждый раз вводить пароль, поля с паролями удаляем.
Ключ с расширением .ppk готов. В putty>connection>ssh>Auth в поле "Private key for authentication" подставляем наш ключ вида mykey.ppk
Однако в Windows в MobaXterm приватный ключ работает без конвертации.
|