Как использовать ключи ssh с windows в azurehow to use ssh keys with windows on azure

Настраиваем доступ по SSH

Часть 2.

Перед тем как начнём, давайте создадим нового пользователя с root правами.

Команда

adduser test

Укажем права пользователю test командой

usermod -a -G sudo test

Чтобы убедиться, что пользователь test был добавлен в группу sudo, можно выполнить следующую команду:

id test

Теперь настраим удаленный доступ к серверу по ssh (командная строка), как по локальной сети, так и по интернету

Установим ssh

sudo apt-get install openssh-server

После установки нам необходимо настроить безопасность соединения и непосредственный доступ.
Зайдем в файл с настройками

sudo nano /etc/ssh/sshd_config

По умолчанию, ssh использует порт 22. Заменим его на нестандартный, это повысит безопасность нашего доступа. Порт заменим например на 2200

При подключении по ssh, наш сервер потребует вместо пароля ключ RSA, а не пароль.
Что бы этого не произошло, в параметре RSAAuthentication и PubkeyAuthentication, вписываем «NO».
Так же запрещаем доступ пользователю ROOT, для этого нужно раскомментировать параметр
Authetication: и в параметре PermitRootLogin вписать «NO»

Теперь пропишем доступ пользователям

В строке AllowUsers прописываем пользователей через пробел в виде юзер@хост, т. е. указываем какой пользователь откуда может подключаться.
Можно использовать знак *

Пропишем пользователю test права доступа и разберёмся в них.

  • test@* — пользователь test может подключаться откуда угодно
    test@192.168.0.* — пользователь test может подключаться только находясь в 192.168.0.0 подсети
    test@192.168.0.104 — пользователь test может подключиться только с ip адреса 192.168.0.104
    *@192.168.0.* — все пользователи могут подключаться находясь в 192.168.0.0 подсети

Так же можно запретить доступ определённым пользователям (например пользователю test2), для этого нужно вписать ниже

DenyUsers test2

Запускаем

sudo /etc/init.d/ssh start

Ssh мы настроили. Теперь откроем к нему доступ. Для этого откроем доступ к порту 2200.

В прошлой части мы устанавливали firewall командой arno-iptables-firewall, теперь нужно внести туда изменения.
По этому перенатроим его.

sudo dpkg-reconfigure arno-iptables-firewall

Запустилась настройка

Вписываем порт, который нужно открыть. Так же в этом окне можно вписать и другие порты, если они нуждаются в открытии.

В следующем окне, так же вписваем порт 2200.

Как только вписали порты, можно везде нажимать ENTER и перезагрузить Файрвол.

После этого порт ssh будет доступен из сети

Для повышения безопасности ssh соединения можно настраиваем утилиту denyhosts.
Утилита представляет собой python-скрипт, который анализирует файл /var/log/auth.log
на наличие записей о несанкционированных попытках входа на сервер по ssh и
добавляет ip-адреса, с которых осуществлялись эти попытки в файл /etc/hosts.deny, с которых запрещен вход по ssh.

Установим командой

sudo aptitude install denyhosts

Сразу после установки утилита просканирует файл /var/log/auth.log и добавит ip-адреса,
с которых осуществлялся подбор паролей, в /etc/hosts.deny. На сканирование потребуется время,
если в файле /var/log/auth.log уже много таких записей.

После установки нужно подправить конфигурационный файл

sudo nano /etc/denyhosts.conf

Скорректируем настройку PURGE_DENY на 3 часа. А то мы можем заблокировать доступ
самому себе, введя несколько раз неверный пароль.

PURGE_DENY = 3h

Ещё, для контроля, нужно указать адрес электронной почты для рассылки уведомлений
о неудачных попытках доступа к серверу:

Для того чтобы новые настройки вступили в силу, нужно перезапустить службу denyhosts:

sudo service denyhosts restart

P.S. Если вам понадобиться сменить пароль на учетной записи. Введите команду

passwd user — где user это имя пользователя

P.S.S. Если возникнут проблемы с кодирвкой, то покопайтесь в настройках клиентской программы shh

Самая популярная программа для работы по ssh, программа PuttY.

Схожие статьи

  • Настраиваем на Ubuntu Dhcp и Dns сервера, а так же доступ в интернетНастраиваем доступ по SSHНастраиваем VPN PPPTPНастраиваем webminНастраиваем FTP на Ubuntu

Уважаемые посетители сайта, если вам нужна помощь в решении проблем, то оставляйте комментарий в форме, а не Вконтакте. Так я смогу быстре ответить на ваш вопрос

Если есть желание поблагодарить за помощь, просьба поддержать просмотрами видео на канале в YouTube

https://youtube.com/watch?v=videoseries

Или можете помочь проекту материально

Two factor authentication with U2F/FIDO

OpenSSH 8.2 added support for U2F/FIDO hardware authentication devices. These devices are used to provide an extra layer of security on top of the existing key-based authentication, as the hardware token needs to be present to finish the authentication.

It’s very simple to use and setup. The only extra step is generate a new keypair that can be used with the hardware device. For that, there are two key types that can be used: and . The former has broader hardware support, while the latter might need a more recent device.

Once the keypair is generated, it can be used as you would normally use any other type of key in openssh. The only requirement is that in order to use the private key, the U2F device has to be present on the host.

For example, plug the U2F device in and generate a keypair to use with it:

Now just transfer the public part to the server to and you are ready to go:

Основные ошибки

Отказ в доступе (парольная аутентификация)

Примечание: Если вы настроили на сервере SSH-ключи и отключили PasswordAuthentication, сервер не поддерживает паролей. Используйте SSH-ключ, чтобы подключиться к серверу.

Клиенты PuTTY и OpenSSH выдают такое сообщение:

Это значит, что аутентификация прошла неудачно. Ошибка может быть вызвана рядом проблем. Вот несколько советов по устранению этой ошибки:

  • Убедитесь, что вы используете правильное имя пользователя. В CoreOS используйте пользователя core. В FreeBSD используйте аккаунт пользователя freebsd.
  • Парольная аутентификация пользователя может быть нарушена. Проверьте, поддерживает ли парольную аутентификацию веб-консоль сервера. Если она не поддерживает пароли, вам придется попытаться сбросить пароль или обратиться за помощью к службе поддержки, чтобы восстановить доступ.
  • Убедитесь, что сервер поддерживает парольную аутентификацию.

Отказ в доступе (аутентификация на основе SSH-ключей)

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

  • Как настроить SSH-ключи
  • Создание SSH-ключей для PuTTY

Вы можете получить такую ошибку:

Многие наиболее распространенные проблемы, связанные с аутентификацией на основе ключей, вызваны неправильными правами доступа к файлам или правами собственности. Чтобы устранить проблему, попробуйте сделать следующее:

  • Убедитесь, что файл authorized_keys и сам закрытый ключ имеют правильные права доступа и собственности.
  • Убедитесь, что сервер поддерживает аутентификацию на основе ключей SSH.
  • Убедитесь, что клиент SSH может получить закрытый ключ. Если вы используете PuTTY, убедитесь, что ключи SSH правильно настроены в сессии. Если вы используете OpenSSH, убедитесь, что у закрытого ключа SSH есть соответствующие привилегии.
  • Убедитесь, что файл authorized_keys содержит правильный открытый ключ, и что открытый ключ добавлен на сервер.
  • Возможно, вы используете закрытый ключ, который больше не поддерживается сервисом OpenSSH. Эта ошибка обычно затрагивает серверы OpenSSH 7+ при использовании закрытого DSA-ключа SSH. Обновите конфигурацию сервера.

Консоль не поддерживает пароли

Если вы не можете восстановить доступ к консоли, это может указывать на проблемы с файловой системой или  конфигурацией в подсистеме PAM, которые влияют на механизм аутентификации. Эта ошибка также повлияет на попытки сбросить пароль root и войти в систему через консоль.

В консоли появляется форма аутентификации:

Но после ввода пароля появляется ошибка:

После сброса пароля вы получите:

Повторно введите текущий пароль. Если соединение закроется, возможно, вы допустили ошибку, повторно вводя пароль. Повторите попытку.

При успешном завершении вам будет предложено дважды ввести новый пароль:

Однако если после повторного ввода правильного нового пароля сессия перезапустится (т.е. снова вернется форма для входа в систему) или появится сообщение об ошибке, это означает, что проблема в одном из файлов, в котором хранятся данные аутентификации.

В таком случае рекомендуется обратиться за помощью в службу поддержки хостинг-провайдера, подготовить сервер к повторному развёртыванию или исправить ошибки в настройках PAM.

Шаг 2 — Копирование открытого ключа на сервер Ubuntu

Самый быстрый способ скопировать открытый ключ на хост Ubuntu — использовать утилиту . Это самый простой способ, поэтому его рекомендуется использовать, если он доступен. Если на клиентском компьютере нет утилиты , вы можете использовать один из двух альтернативных методов, описанных в этом разделе (копирование через SSH на базе пароля или копирование ключа вручную).

Копирование открытого ключа с помощью утилиты

Утилита по умолчанию входит в состав многих операционных систем, поэтому она может быть доступна на вашем локальном компьютере. Чтобы этот метод сработал, вы должны уже настроить защищенный паролем доступ к серверу через SSH.

Для использования этой утилиты укажите удаленный хост, к которому вы хотите подключиться, и учетную запись пользователя, к которой у вас есть доступ через SSH с использованием пароля. Ваш открытый ключ SSH будет скопирован в эту учетную запись.

Синтаксис выглядит следующим образом:

Вы можете увидеть следующее сообщение:

Это означает, что ваш локальный компьютер не распознает удаленный хост. Это произойдет при первом подключении к новому хосту. Введите «yes» и нажмите , чтобы продолжить.

Затем утилита проведет сканирование локальной учетной записи для поиска ранее созданного ключа . Когда ключ будет найден, вам будет предложено ввести пароль учетной записи удаленного пользователя:

Введите пароль (для безопасности вводимый текст не будет отображаться) и нажмите . Утилита подключится к учетной записи на удаленном хосте, используя указанный вами пароль. Затем содержимое ключа будет скопировано в основной каталог удаленной учетной записи в файл с именем .

Вы должны увидеть следующий результат:

Теперь ваш ключ выгружен в удаленную учетную запись. Вы можете переходить к .

Копирование открытого ключа с помощью SSH

Если у вас нет , но вы активировали защищенный паролем доступ к учетной записи на вашем сервере через SSH, вы можете выгрузить ключи с помощью стандартного метода SSH.

Для этого нужно использовать команду , чтобы прочитать содержимое открытого ключа SSH на локальном компьютере и передать его через соединение SSH на удаленный сервер.

Также мы можем убедиться, что директория существует и имеет правильные разрешения для используемой нами учетной записи.

Мы можем вывести переданное содержимое в файл с именем в этом каталоге. Мы используем символ перенаправления , чтобы дополнять содержимое, а не заменять его. Это позволяет добавлять ключи без уничтожения ранее добавленных ключей.

Полная команда выглядит следующим образом:

Вы можете увидеть следующее сообщение:

Это означает, что ваш локальный компьютер не распознает удаленный хост. Это произойдет при первом подключении к новому хосту. Введите и нажмите , чтобы продолжить.

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

После ввода пароля содержимое ключа будет скопировано в конец файла учетной записи удаленного пользователя. Если операция выполнена успешно, переходите к .

Копирование открытого ключа вручную

Если для вашего сервера не настроен защищенный паролем доступ через SSH, вам нужно будет выполнить вышеописанную процедуру вручную.

Мы вручную добавим содержимое вашего файла в файл на удаленном компьютере.

Чтобы вывести содержимое ключа , введите на локальном компьютере следующую команду:

Вы увидите содержимое ключа, которое должно выглядеть следующим образом:

Получите доступ к удаленному хосту с использованием любого доступного метода.

После получения доступа к учетной записи на удаленном сервере убедитесь, что каталог существует. При необходимости эта команда создаст директорию, а если она уже существует, команда ничего не сделает:

Теперь вы можете создать или изменить файл в этой директории. Вы можете добавить содержимое файла в конец файла и при необходимости создать его с помощью этой команды:

В вышеуказанной команде замените результатами команды , выполненной на локальном компьютере. Она должна начинаться с .

Наконец, нужно убедиться, что директория и файл имеют соответствующий набор разрешений:

При этом будут рекурсивно удалены все разрешения «group» и «other» для директории .

Если вы используете учетную запись root для настройки ключей учетной записи пользователя, важно учитывать, что директория принадлежит пользователю, а не пользователю root:

В этом обучающем модуле мы используем имя пользователя sammy, но вы можете заменить его в вышеприведенной команде другим используемым вами именем.

Теперь мы можем попробовать настроить аутентификацию без пароля на нашем сервере Ubuntu.

Как пользоваться клиентом PuTTY

Наиболее популярный вопрос после установки: как пользоваться программой putty, чтобы она работала корректно. После запуска программы в окне «Сеанс», которое расположено слева вверху, заполняем данные. Окошко для имени хоста или IP-адреса самое верхнее. Порт, используемый для подключения, оставляем тот, который стоит по умолчанию, то есть 22. В окошке тип подключения отмечаем необходимый например SSH и нажимаем соединиться.

Еще ниже расположено окно Управление сеансами где есть пункты загрузки, сохранения, удаления сессии. Стоит прописать название сеанса, нажать кнопку «Сохранить». После этого вам не нужно будет постоянно вводит ip адресс выбирать порт и тип соединения. Нужно будет лишь выбрать из списка необходимый сеанс.

Также придется настроить корректное отображение кириллических символов. Слева выбираем вкладку «Окно», верхнюю ссылку «Внешний вид» , жмем на «Изменить», расположенную справа.

В нижней части окна настройки шрифта из набора символов выбираем «Кириллица».

После нажатия «Ок», зайдите во вкладку «Кодировка», проверьте кодировку, которая настраивает подключаемый сервер. Должно стоять UTF-8. в таком случае программа putty будет корректно отображать русскоязычный текст.

Чтобы подключение через putty прошло успешно, и пользователь смог работать с терминалом, сервером, сетевым маршрутизатором, на стороне, где расположены конечные устройства, должны быть произведены настройки SSH-сервера, открыт порт 22, указанный в настройках программы. На локальном компьютере, с которого будет произведено подключение, рекомендуется отключить защиту Файрволл / Брандмауэра Windows.

Начиная подключение впервые, на экране монитора пользователя появится окошко, предупреждающее на английском языке, что программа будет записывать удаленный ключ шифрования сервера. Из трех вариантов нужно выбрать «Да».

После этого откроется терминал, в котором нужно ввести логин, пароль. Каждый ввод должен заканчиваться нажатием «Enter». Символы не будут видимыми, подтверждением правильности операции станет подключение к серверу. Чтобы управлять системой воспользуйтесь командами Unix, Cisco.

Программа PuTTY – простой, удобный инструмент, открывающий широкие возможности работы с сервером. Утилита бесплатная, обеспечивает превосходную степень надежности при передаче информации, обладает гибкими настройками, чем заслужила востребованность.

Технологию доступа по ключу можно аллегорически представить как если бы секретный ключ был таким маленьким красивым фигурным ключиком с затейливой бороздкой, а публичный — это замочек со скважиной точно под этот ключ, который нужно установить на удалённый сервер.

Откройте программу Puttygen
и нажмите кнопку Generate
. Для процесса генерации ключей программа требует совершать произвольные движения «мышью» — для заполнения массива случайных чисел:

Сохраните созданный секретный ключ Save secret key
. При сохранении следует учесть, что с помощью этого ключа можно получить доступ ко всем ресурсам, доступ к которым Вы настроите. Попытайтесь не хранить его на компьютере, куда хотя бы иногда может иметь доступ кто-нибудь ещё. Сохраните например его на флешке. Будет правильным, если ключ будет защищён паролем:

Выделите мышью открытый ключ OpenSSH как показано на рисунке и скопируйте его в буфер обмена:

Откройте PuTTY и установите соединение с сервером используя пароль. Создайте на сервере каталог.ssh командой

Mkdir .ssh

Затем выполните команду echo
как показано на рисунке — наберите

По умолчанию, если кликнуть после этого правой кнопкой мыши по консоли, в ней появится содержимое буфера обмена — т.е. сохранённый ранее открытый ключ. Дальше закрываем кавычку и указываем перенаправление в файл:

» >> .ssh/authorized_keys

Настройте PuTTY для работы с секретным ключом. Для этого войдите в раздел Connection->SSH->Auth
и выберите путь к сохранённому ключу.

PuTTY — бесплатный клиент для SSH-, Telnet-, rlogin-протоколов, а также протокола TCP, который работает практически на всех платформах. На практике используется для установления удаленного соединения и работы на подключённом с помощью PuTTY узле.

Достаточно удобно выполнить первоначальную настройку этого приложения, а потом использовать установленные параметры. Ниже рассмотрено как осуществить подключение по SSH через PuTTY после конфигурации программы.

Шаг 2 — Копирование публичного ключа на сервер Ubuntu

Самым быстрым способом скопировать ваш публичный ключ на машину с Ubuntu — использовать утилиту . Поскольку этот метод невероятно прост, он рекомендуется для использования в первую очередь. Если по какой либо причине использование невозможно, вы можете использовать один из двух альтернативных методов, описанных далее (копирование в входом по SSH с использованием пароля и ручное копирование ключа).

Копирование ключа с использованием

Утилита доступна по умолчанию во многих операционных системах, поэтому, скорее всего, она доступна и на вашей локальной машине. Для использования этого метода копирования ключа вам необходимо иметь доступ к своему серверу по SSH с использованием пароля.

Для использования утилиты вам необходимо указать адрес удалённого хоста, к которому вы хотите подключиться, а также имя пользователя, имеющего доступ к хосту по SSH. Именно для аккаунта этого пользователя и будет скопирован ваш публичный ключ SSH.

Синтаксис команды выглядит следующим образом:

Вы можете увидеть вывод следующего вида:

Это означает, что ваш локальный компьютер не узнал удалённый хост. Это случается, когда вы пытаетесь подключиться к новому хосту в первый раз. Напечатайте “yes” и нажмите для продолжения.

Далее утилита будет искать в директории вашего локального пользователя файл ключа , созданный нами ранее. Если файл ключа будет успешно обнаружен, утилита запросит пароль для входа на удалённый хост:

Введите пароль (при вводе он не будет отображаться из соображений безопасности) и нажмите . Утилита зайдёт на удалённый хост, используя данные аккаунта, пароль для которого вы ввели. Далее утилита скопирует содержимое файла публичного ключа из в файл в поддиректории домашней директории вашего пользователя на удалённом хосте.

Вы должны увидеть следующий вывод:

Теперь ваш публичный ключ загружен на удалённый хост. Вы можете перейти к .

Копирование публичного ключа через SSH

Если у вас нет утилиты , но у вас есть пароль для входа по SSH на ваш удалённый сервер, мы можете загрузить свой ключ вручную.

Для этого можно использовать команду , которая прочитает содержимое файла публичного ключа на локальной машине, а затем мы сможем отправить прочитанные данные ключа по SSH на удалённый сервер.

Кроме этого, нам потребуется убедиться, что директория существует, а также имеет корректные права доступа для используемого нами аккаунта пользователя.

Далее мы сможем отправить содержимое файла ключа в файл внутри этой директории. Мы будем использовать синтаксис для добавление данных в конец файла вместо перезаписи содержимого файла. Это позволит нам добавить ключ без удаления ранее добавленных ключей.

Команда выглядит следующим образом:

Вы можете увидеть вывод следующего вида:

Это означает, что ваш локальный компьютер не узнал удалённый хост. Это случается, когда вы пытаетесь подключиться к новому хосту в первый раз. Напечатайте “yes” и нажмите для продолжения.

Далее вам будет предложено ввести пароль аккаунта пользователя на удалённом хосте:

После ввода пароля содержимое вашего файла публичного ключа будет скопировано в конец файла на удалённом хосте. Если всё прошло успешно, вы можете перейти к .

Копирование публичного ключа вручную

Если у вас нет доступа к вашей удалённой машине по SSH с использованием пароля, вам придётся проделать описанный выше процесс вручную.

Мы вручную добавим содержимое вашего файла в конец файла на удалённой машине.

Для отображения содержимого файла введите следующую команду на вашей локальной машине:

Вы увидите содержимое файла ключа, выглядящее примерно так:

Зайдите на вашу удалённую машину любым доступным для вас способом.

Далее нам необходимо убедиться, что директория существует. Следующая команда создаст директорию, если её не существует или не сделает ничего, если директория была создана ранее:

Теперь вы можете создать или отредактировать файл внутри этой директории. Вы можете добавить содержимое файла в конец файла , при необходимости создав его, следующей командой:

В команде выше замените на вывод команды , которую вы выполнили на своей локальной машине. Строка должна начинаться с .

Далее убедимся, что директория и файл имеют подходящие права доступа:

Эта команда удаляет права доступа для “group” и “other” для директории .

Если вы используете аккаунт для настройки ключей для аккаунта пользователя, важно, чтобы директория принадлежала этому самому пользователю, а не пользователю :

В нашем руководстве мы используем пользователя с именем , вам же следует использовать имя своего пользователя в команде выше.

Теперь мы можем попробовать аутентифицироваться на нашем Ubuntu сервере без пароля.

Как пользоваться PuTTY

1. Интерфейс программы

Сразу же после запуска программы из меню пуск вы увидите графический интерфейс ее настройки. После подключения вы будете видеть только терминал, но настроить программу можно через удобный интерфейс.

Рассмотрим за что отвечают те или иные вкладки программы, чтобы вы ориентировались что и где искать. У нас есть четыре вкладки:

  • Session — отвечает за подключение удаленному серверу, тут мы вводим параметры подключения, порт, адрес, а также можем сохранить все настройки putty, чтобы не настраивать каждый раз заново.
  • Terminal — позволяет включать или отключать возможности терминала;
  • Window — настройка внешнего вида окна, цвет, шрифт, кодировка;
  • Connection — настройка параметров подключения, алгоритма шифрования, сжатия, ключей аутентификации, X11 и других параметров.

Каждая вкладка имеет несколько подразделов, но мы не будем сейчас их трогать, а перейдем сразу к практике и посмотрим как подключиться putty к удаленному узлу.

2. Подключение к удаленному компьютеру PuTTY

Чтобы подключиться к удаленному компьютеру по SSH перейдите на вкладку «Session», здесь, в поле «Host Name» необходимо прописать ip адрес или имя хоста, компьютера, к которому вы хотите подключиться, в поле порт — нужно указать порт, на котором запущен SSH сервер, по умолчанию используется порт 22:

Далее, нажмите кнопку «Open». После этого появится запрос на добавление ключа сервера в список доверенных ключей, нажмите «Да»:

Затем вам будет нужно ввести логин пользователя и пароль

Важно заметить, что скопировать логин или пароль у вас не получится, необходимо только вводить вручную:. Теперь авторизация прошла успешно, и вы можете выполнять нужные действия на сервере:

Теперь авторизация прошла успешно, и вы можете выполнять нужные действия на сервере:

3. Сохранение сессии PuTTY

Чтобы не вводить каждый раз ip и порт можно сохранить эти данные в виде сессии, для этого пропишите новое имя в поле «Saved Sessions», а затем нажмите кнопку «Save»:

Теперь вы сможете загрузить сохраненную сессию, нажав кнопку «Load».

После того как будет завершена настройка putty и все параметры будут выставлены правильно вы можете сохранить настройки и не вводить их несколько раз.

4. Имя пользователя по умолчанию

Вы можете не вводить имя пользователя каждый раз, для этого перейдите на влкадку «Connection», затем «Data» и в поле «Auto-login Username» пропишите имя пользователя, например, root:

Теперь подключение putty будет выполняться от имени этого пользователя.

5. Авторизация по ключу ssh в PuTTY

Чтобы не вводить каждый раз пароль можно настроить авторизацию по ключу. В Linux такая возможность используется очень широко потому что это удобно. Первым делом необходимо создать ключ. Для этого запустите утилиту PuTTYgen и установите переключатель в положение «SSH-2 RSA» нажмите «Generate»:

Обязательно ключ должен быть SSH-2 RSA, если в главном окне нет, выберите в меню «Key». Подвигайте мышкой, чтобы создать достаточное количество энтропии:

Ключ готов, затем, с помощью кнопок «Save Public Key» и «Save Private Key» сохраните оба ключа.

Далее, откройте PuTTY, перейдите на вкладку «Connection», затем «SSH», затем «Auth»:

Здесь необходимо нажать кнопку «Browse» и добавить недавно сохраненный приватный ключ:

Далее, возвращаемся на вкладку «Session», выбираем наше сохранение и нажимаем «Save» чтобы сохранить настройки. Осталось только отправить наш открытый ключ на сервер. Для этого авторизуйтесь на нем с помощью пароля и открытый ключ вставьте ключ в конец файла /root/.ssh/authorized_keys.

Ключ можно брать прямо из окна PuTTYgen «Public key for pasting» или из файла открытого ключа:

Все, теперь можно выходить и авторизоваться снова. На этот раз подключение по ssh putty будет выполняться с помощью нашего ключа. Не забывайте сохранять настройки сессии, чтобы не выбирать ключ каждый раз. Теперь вы знаете как пользоваться программой putty, рассмотрим еще передачу файлов.

5. Передача файлов через scp в PuTTY

Не все знают, но PuTTY позволяет передавать файлы через ssh также как это делает linux с помощью утилиты scp. Нажмите Win+R, затем пропишите cmd, чтобы запустить командную строку.

Синтаксис утилиты pcsp выглядит следующим образом:

pscp опции путь_файлу имя_пользователя@хост:/путь/к/файлу/на/удаленном/хосте

Например, мы можем отправить файл из текущей папки в папку пользователя /root/:

С помощью опции -P можно задать удаленный порт:

А опция load позволяет загрузить сохраенные настройки сессии PuTTY:

Теперь вы знаете как использовать putty для передачи файлов.

Установка клиента OpenSSH в Windows 10

Клиент OpenSSH входит в состав Features on Demand Windows 10 (как и RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019 и Windows 10 1809 и более новых билдах.

Проверьте, что SSH клиент установлен:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'

В нашем примере клиент OpenSSH установлен (статус: State: Installed).

Если SSH клиент отсутствует (State: Not Present), его можно установить:

  • С помощью команды PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
  • С помощью DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
  • Через Параметры -> Приложения -> Дополнительные возможности -> Добавить компонент. Найдите в списке Клиент OpenSSH и нажмите кнопку Установить.

]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.

  • ssh.exe – это исполняемый файл клиента SSH;
  • scp.exe – утилита для копирования файлов в SSH сессии;
  • ssh-keygen.exe – утилита для генерации ключей аутентификации;
  • ssh-agent.exe – используется для управления ключами;
  • ssh-add.exe – добавление ключа в базу ssh-агента.

Вы можете установить OpenSSH и в предыдущих версиях Windows – просто скачайте и установите Win32-OpenSSH с GitHub (есть пример в статье “Настройка SSH FTP в Windows”).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *