Использование putty и ssh ключей в Windows

    Так как приходиться уже не первый раз объяснять как это делается, решил оформить в виде How-To в картинках
    Скачиваем архив putty отсюда putty.zip
    1. Распаковываем и запускаем ssh-keygen

    Выбираем ключ ssh-rsa и длину 2048 бит. Жмем «Generate».


    Ключ готов, заполняем кодовую фразу и комментарий к нему. Сохраняем приватный ключ как mykey.ppk и публичный как id_rsa.pub

    2. Далее необходимо скопировать наш публичный ключ на сервер. Для этого запускаем psftp.
    psftp: no hostname specified; use «open host.name» to connect
    psftp> open myserver
    The server's host key is not cached in the registry. You
    have no guarantee that the server is the computer you
    think it is.
    The server's rsa2 key fingerprint is:
    ssh-rsa 2048 XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
    If you trust this host, enter «y» to add the key to
    PuTTY's cache and carry on connecting.
    If you want to carry on connecting just once, without
    adding the key to the cache, enter «n».
    If you do not trust this host, press Return to abandon the
    connection.
    Store key in cache? (y/n) y
    login as: root
    root@myserver's password:
    Remote working directory is /root
    psftp>put id_rsa.pub /tmp/id_rsa.pub
    local:id_rsa.pub => remote:/tmp/id_rsa.pub
    psftp>


    3. Ключ скопировался, теперь нужно добавить его в /root/.ssh/authorized_keys
    Для этого логинимся еще раз по паролю, через putty и выполняем
    ssh-keygen -i -f /tmp/id_rsa.pub >> /root/.ssh/authorized_keys

    Теперь осталось добавить наш ключ в ssh-agent'a. После запуска он сидит в трее, чтобы добавить ключ кликаем правой кнопкой на «Add Key»


    Вводим кодовую фразу:


    Теперь логинимся в putty:
    login as: root
    Authenticating with public key "rsa-key-20080908" from agent
    


    Практически все, чтобы устранить проблемы с кодировками, с кривым отображением mc в путти, исправляем локаль в настроках:
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 14

      +3
      Статья полезная, но хабракат непомешает =)
        0
        говорят (памятуя о дырявом дебиане), что лучше использовать нестандартную длину ключей, типа 2047 бит
          0
          Кстати, на втором скриншоте у автора именно 2047, хотя и написано 2048 =)
          0
          Задумывалось 2048, кто украл один байт во время снятия скриншотов — незнаю. %)
            0
            то есть 1 бит
            +1
            как-то сложно ключ копируется…
            по моему, проще скопировать публичный ключ из «Public key for pasting...»,
            зайти на сервер с паролем и сделать:
            cat >> ~/.ssh/authorized_keys
            <вставить сюда><нажать энтер>
            <нажать Ctrl-D>
              0
              В FreeBSD публичный ключ по-умолчанию читается из ~/.ssh/.id_dsa или ~/.ssh/.id_rsa
              Может быть кому поможет…
                0
                Объясните плиз с чем связано, что putty генерит ключи не со стандартным содержимым а в своем недоформате.

                Т. е. после генерации в putty я должен преобразовать публичный ключ в стандартный формат иначе openssh-server его не воспримет.

                Также имеет место быть и обратная ситуация. Допустим я сгенерил ключи на сервере или на клиенте под linux.
                Все замечательно работает. Но появляется необходимость работать с windows клиента. И я опять должен преобразовывать уже приватный ключ в недовормат putty через puttygen.
                  0
                  Именно, я этих тонкостей сначала не знал — долго не мог понять, почему ключ не принимается.
                    0
                    и как решилось?
                  0
                  2. Далее необходимо скопировать наш публичный ключ на сервер. Для этого запускаем psftp.


                  Можно проще поступить


                  скопировать в буфер обмена и вставить скопированный текст в
                  # cat >> authorized_keys
                  <paste>ssh-rsa AAAAB3Nza...<snip>...5rHxhGmbLC3 rsa-key-20190626
                  <enter>
                  <control-D>
                    0
                    Сейчас 2019 год, проще и лучше из WSL использовать родные Linux инструменты, ну или на крайний случай OpenSSH из стандартных компонент.
                      0
                      да я вообще удивлен, что еще такую рутинную задачу надо решать в 2019 году, таким сложным способом
                        0
                        Вы точно обратили внимание на дату публикации?

                  Only users with full accounts can post comments. Log in, please.