Подключение Winscp ssh по ключу

Обновлено: 21.11.2024

Инструкции по добавлению ключей SSH для других платформ см. в этом FAQ.

Введение

По состоянию на 12 апреля 2019 года ключи SSH требуются при SSH-подключении к сетям CS/CSRES за пределами наших сетей, беспроводных сетей кампуса или VPN. ISO-образ университета поместит в карантин любой хост, разрешающий доступ по SSH, на котором не отключена аутентификация по паролю.

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

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

Например, если у вас есть два компьютера дома, home1 и home2, и вы хотите использовать их для подключения к remote1, remote2 и remote3, вы должны создать пару ключей SSH на обоих home1 и home2, а затем отправить открытый ключ из дома1 на все три удаленных компьютера, и, наконец, вы должны отправить открытый ключ из дома2 на все три удаленных компьютера.

Ниже приведены необходимые инструкции по созданию пары ключей SSH и добавлению открытого ключа в учетную запись CS. Добавление вашего публичного ключа SSH к linux.cs.utexas.edu автоматически добавит его ко всем другим машинам в сети CS. Для целей этих инструкций мы предполагаем, что вы хотите подключиться к машине CS по SSH с домашнего компьютера. Во избежание путаницы мы будем использовать следующую терминологию:

HOME = ваш домашний компьютер
CS_USER = ваше имя пользователя CS
linux.cs.utexas.edu = машина, на которую вам нужно подключиться по SSH и добавить ключ SSH.

ПРИМЕЧАНИЕ. Все команды будут выполняться на HOME.

Установить PuTTY

  1. Перейдите по этой ссылке.
  2. Нажмите на файл msi, который вы хотите использовать. (прочитайте раздел часто задаваемых вопросов, если вы не уверены, нужен ли вам 32- или 64-разрядный установщик)
  3. Следуйте инструкциям по установке.
  1. Перейдите по этой ссылке.
  2. Нажмите "ЗАГРУЗИТЬ WINSCP"
  3. Следуйте инструкциям по установке.

Создание ключа

Чтобы создать 4096-битный ключ RSA, выполните следующее:

  1. Удерживая нажатой клавишу Windows, нажмите r . Откроется окно «Выполнить».
  2. Введите puttygen.exe и нажмите Enter (или нажмите "ОК").
  3. Убедитесь, что в разделе "Тип генерируемого ключа" выбрано "RSA".
  4. Введите "4096" в поле "Количество битов в сгенерированном ключе".
  5. Нажмите кнопку "Создать".
  6. Во время создания ключа перемещение мыши поможет ускорить процесс.
  7. Введите кодовую фразу в поле "Ключевая кодовая фраза". (ВСЕГДА используйте кодовую фразу!!) 1
  8. Повторно введите кодовую фразу в поле "Подтвердить парольную фразу".
  9. Нажмите «Сохранить закрытый ключ» и выберите место для сохранения нового файла ppk. (Запомните это место)
  10. Щелкните правой кнопкой мыши текстовое поле с надписью "Открытый ключ для вставки в файл author_keys OpenSSH" и выберите "Выбрать все".
  11. Снова щелкните правой кнопкой мыши в том же текстовом поле и выберите "Копировать".

То, что в данный момент находится в вашем буфере обмена, является вашим открытым SSH-ключом, и им можно делиться с кем угодно.

Копирование вашего ключа на сервер

Из сети UT VPN, беспроводной сети UT или сети CS

Если вы подключены к UT VPN или принесли свою машину в кампус и подключились к беспроводной сети UT или сети CS, вы можете использовать метод, описанный ниже.

Дополнительную информацию о том, как подключиться к UT VPN, можно найти на этой странице.

Чтобы скопировать открытый ключ SSH из HOME в linux.cs.utexas.edu, просто выполните следующие действия:

  1. Удерживая нажатой клавишу Windows, нажмите r . Откроется окно «Выполнить».
  2. Введите putty.exe и нажмите Enter (или нажмите "ОК").
  3. В поле "Имя хоста" введите "linux.cs.utexas.edu" и нажмите Enter (или нажмите "Открыть").
  4. Когда будет предложено "войти как: ", введите свой CS_USER и нажмите Enter.
  5. mkdir -p ~/.ssh && nano ~/.ssh/authorized_keys
  6. Нажимайте, пока курсор не окажется в нижней части файла.
  7. Нажмите правой кнопкой мыши, чтобы вставить открытый ключ SSH в файл.
  8. Удерживая нажатой клавишу Ctrl, нажмите x, чтобы сохранить файл.
  9. При появлении вопроса "Сохранен измененный буфер?" нажмите Y .
  10. При появлении запроса "Имя файла для записи:" просто нажмите Enter.
  11. chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

Поздравляем! Теперь вы можете использовать свой ключ SSH для входа на любой компьютер CS, к которому у вас есть доступ!

За пределами кампуса

Скопировать на USB-накопитель

Если вы не можете подключиться к UT VPN или не можете перенести свой компьютер в кампус, другим решением может быть копирование открытого ключа SSH на USB-накопитель.

На домашнем компьютере:

  1. Подключите USB-накопитель.
  2. Если он не монтируется автоматически, откройте проводник и откройте USB-устройство в левой части окна.
  3. В папке USB-накопителя щелкните правой кнопкой мыши внутри папки и выберите «Создать» > «Текстовый документ».
  4. Назовите файл "id_rsa.pub" и откройте его в Блокноте.
  5. Щелкните правой кнопкой мыши внутри пустого документа и выберите "Вставить", чтобы вставить открытый ключ SSH.
  6. Нажмите "Файл", а затем "Сохранить", чтобы сохранить файл, затем закройте Блокнот.
  7. Безопасно отключите/извлеките USB-накопитель и принесите его в кампус.

Отсюда вам нужно будет войти в лабораторный компьютер CS и сделать следующее:

Использование WinSCP с вашим новым ключом

  1. Откройте WinSCP.
  2. В поле "Имя хоста" введите "linux.cs.utexas.edu".
  3. В поле "Имя пользователя" введите свой CS_USER, НЕ вводите пароль в поле "Пароль".
  4. Нажмите кнопку "Дополнительно".
  5. На левой панели под "SSH" нажмите "Аутентификация".
  6. В разделе "Файл закрытого ключа" нажмите на три точки ". " и найдите файл ppk, который вы сохранили ранее.
  7. Нажмите "ОК" в нижней части окна.
  8. Наконец, нажмите "Сохранить" под полем "Имя пользователя" и присвойте сеансу имя.
  9. Теперь, когда ваш сеанс сохранен, вы можете щелкнуть имя сеанса, а затем нажать "Войти". Он запросит у вас парольную фразу ключа SSH и войдет в linux.cs.utexas.edu. 2

Использование ssh-агента (необязательно)

PuTTY не использует ssh-agent, но использует его как команду Pageant, которая может запомнить парольную фразу вашего SSH-ключа. Хотя Pageant не рассматривается в этой документации, быстрый поиск в поисковой системе по запросу "Pageant" укажет вам правильное направление.

Дополнительная информация

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

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

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

Перед началом

Прежде чем начать, вы должны:

Создать пару ключей

Если у вас еще нет пары ключей, начните с создания новой пары ключей.

Настроить сервер для приема открытого ключа

После входа в систему настройте сервер так, чтобы он принимал ваш открытый ключ. Это зависит от используемого программного обеспечения сервера SSH. Наиболее распространенным SSH-сервером является OpenSSH.

ОткрытьSSH

Вы можете использовать команду Сеанс > Установить открытый ключ на сервер в главном окне или команду Инструменты > Установить открытый ключ на сервер на странице SSH > Аутентификация. в диалоговом окне «Дополнительные параметры сайта». Функциональность команды аналогична команде OpenSSH ssh-copy-id.

Или вы можете настроить ключ вручную:

  • Перейдите в подкаталог .ssh домашнего каталога вашей учетной записи. Возможно, вам потребуется включить отображение скрытых файлов, чтобы увидеть каталог. Если каталога не существует, его необходимо сначала создать.
  • Оказавшись там, откройте файл author_keys для редактирования. Возможно, вам снова придется создать этот файл, если это ваш первый ключ.
  • Переключитесь в окно PuTTYgen, выделите весь текст в поле Открытый ключ для вставки в файл author_keys OpenSSH и скопируйте его в буфер обмена ( Ctrl+C ). Затем вернитесь в редактор и вставьте данные в открытый файл, убедившись, что все они заканчиваются на одной строке. Сохраните файл. WinSCP также может показать вам открытый ключ.
  • Убедитесь, что домашний каталог вашей учетной записи, ваш каталог .ssh и файл author_keys не доступны для записи для группы или всего мира. Рекомендуемые разрешения для каталога .ssh: 700 . Рекомендуемые разрешения для файлов author_keys — 600. Подробнее об изменении разрешений.

OpenSSH в Windows

    из PuTTYgen и скопируйте его в подкаталог .ssh2 домашнего каталога вашей учетной записи.
  • В том же подкаталоге отредактируйте (или создайте) файл с именем авторизация. В этом файле вы должны поместить строку вроде Key mykey.pub , заменив mykey.pub на имя файла вашего ключа.

Другие SSH-серверы

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

Настройка сеанса WinSCP

При настройке сеанса укажите путь к вашему закрытому ключу на странице SSH > Аутентификация диалогового окна «Дополнительные параметры сайта».

В качестве альтернативы загрузите закрытый ключ в Pageant.

Аутентификация с открытым ключом в облаке

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

Как заставить WinSCP подключаться к SSH-серверу с указанным закрытым ключом.

Я не вижу такой опции.

Например, у меня есть закрытый ключ, который я создал с помощью SSH в cygwin. (id_rsa)

И я уже добавил открытый ключ (id_rsa.pub) в author_keys на сервере.

2 ответа 2

В диалоговом окне входа в WinSCP нажмите кнопку Дополнительно, выберите SSH > Аутентификация и в поле Файл закрытого ключа найдите для вашего файла закрытого ключа:

Если у вас нет ключа в формате PuTTY .ppk, вам потребуется изменить фильтр файлов на Все файлы закрытых ключей; как только вы выберете ключ SSH, WinSCP предложит преобразовать ключ для вас, сохранив копию ключа в формате .ppk.

(ответ Мартина быстрее, чем этот ответ)

Самый простой способ — убедиться, что вы можете сначала подключиться в PuTTY, так как он очень похож на WinSCP:

PuTTY требует, чтобы ключ был .ppk [закрытый ключ Putty]

  • Как преобразовать ключ RSA (например, используемый OpenSSH) в .ppk с помощью PuTTYgen:
    1. ФайлЗагрузить закрытый ключ → Изменить, чтобы показать все файлы
    2. Выберите id_rsa, чтобы загрузить ключ RSA → ФайлСохранить закрытый ключ
  • В PuTTY:
    1. ПодключениеSSHАутентификацияФайл закрытого ключа для аутентификации → Выберите .ppk
    2. PuTTY просит вас указать имя пользователя, которое совпадает с именем пользователя OpenSSH [SSH используется в cygwin при выполнении ssh user@ip ]
    3. Теперь отложите PuTTY, так как это поможет узнать, как подключиться к PuTTY

На экране входа в WinSCP перейдите в раздел Новый сайт

  1. Файловый протоколSCP [передача файлов по SSH]
  2. ДополнительноSSHАутентификацияЗагрузить закрытый ключ → Выберите .ppk, созданный выше

    PuTTYgen используется для преобразования ключа RSA в .ppk, что делается так же, как описано выше
  3. Чтобы использовать аутентификацию на основе открытого и закрытого ключей для SFTP на вашем сервере, вам необходимо включить SSH в вашей учетной записи хостинга. Большинство хостов не включают SSH по умолчанию, поэтому вы можете проверить на своем хосте и включить его, если он еще не включен. После включения SSH подключиться к вашему серверу очень просто. Вот три основных шага:

    1. Создание пар открытого и закрытого ключей с помощью Cpanel.
    2. Скачивание и преобразование закрытого ключа в формат PPK (PuTTY Private Key).
    3. Подключение к вашему серверу с помощью FTP-клиента и использование ключа PPK для аутентификации.

    Итак, давайте подробно рассмотрим эти шаги:

    Создание пар открытого и закрытого ключей с помощью Cpanel

    Чтобы использовать SFTP, нам сначала нужно сгенерировать пары открытого и закрытого ключей. Это легко сделать с помощью Cpanel, как описано ниже:

    Шаг 1. Войдите в Cpanel и нажмите SSH Shell Access в разделе безопасности.

    Шаг 2. Нажмите кнопку Управление ключами SSH, а затем нажмите ссылку Создать новый ключ.

    Шаг 3. На этой странице введите следующие данные:

    Имя ключа: id_rsa
    Пароль ключа: Любой пароль. (Примечание: это пароль, который вам нужно будет ввести при использовании SFTP.)
    Тип ключа: RSA
    Размер ключа: 2048

    После ввода всех данных нажмите Создать ключ (см. изображение выше). Это создаст пару открытого и закрытого ключей. Теперь вы должны увидеть эти файлы на странице Управление ключами SSH.

    Шаг 4. На странице Управление ключами SSH нажмите Управление авторизацией, а затем нажмите кнопку Авторизовать. Это разрешит использование ключа, как показано на изображении ниже.

    Шаг 5. Нажмите ссылку Просмотреть или скачать в разделе "Закрытые ключи", чтобы скрыть и загрузить свой закрытый ключ.

    Преобразование закрытого ключа в формат PPK

    Теперь нам нужно преобразовать закрытый ключ в формат PPK. Вы можете сделать это, используя параметр скрытого ключа на Cpanel, или вы можете загрузить необработанный файл и преобразовать его в формат PPK с помощью PuttyGen. В большинстве случаев вариант преобразования Cpanel работает довольно хорошо, поэтому вы можете придерживаться его. Но в случае, если у вас нет этой опции в вашей учетной записи Cpanel, вы можете использовать метод Puttygen. Давайте рассмотрим оба этих метода:

    Вариант 1. Преобразование ключа в формат PPK с помощью опции скрытого ключа Cpanel:

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

    Примечание. Пароль — это ключевой пароль, который вы использовали при создании ключей в Cpanel.

    Вариант 2. Преобразование ключа в формат PPK с помощью PuttyGen:

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

    Шаг 1. Как показано на изображении выше (отмечен вариант 2), нажмите кнопку «Загрузить ключ» на странице «Просмотр или загрузка ключей SSH». Это загрузит закрытый ключ (id_rsa) на ваш компьютер. Скопируйте и сохраните этот файл в доступном месте.

    Шаг 2. Откройте приложение PuttyGen и нажмите "Выполнить".

    Шаг 3. Перейдите в раздел Конверсии > Импортировать ключ, перейдите к местоположению загруженного файла закрытого ключа (id_rsa) и выберите файл.

    После загрузки файла вам будет предложено ввести пароль. Введите пароль и нажмите "ОК".

    Шаг 4. Убедитесь, что выбран параметр SSH2 RSA и для числа бит установлено значение 2048.

    Шаг 5. Нажмите Сохранить закрытый ключ и сохраните файл под нужным вам именем. (См. изображение выше).

    SFTP на сервер

    Теперь, когда у нас есть открытый и закрытый ключи, мы можем подключиться к серверу по SFTP. Вы можете сделать это с помощью любого FTP-клиента, такого как Filezilla или WinSCP. В этом руководстве я использую WinSCP.

    Шаг 1. Откройте WinSCP и создайте новый FTP-сервер, нажав Новый сайт, и введите следующие данные:

    Шаг 2. Нажмите кнопку Дополнительно, чтобы открыть страницу Дополнительные настройки сайта, как показано в пункте 6 на изображении выше. .

    Шаг 3. На странице Дополнительные настройки сайта нажмите Аутентификация и перейдите к местоположению вашего файла PPk. См. изображение ниже:

    Шаг 4. После этого нажмите "ОК", а затем нажмите Сохранить, чтобы сохранить настройки.

    Шаг 5. Нажмите «Войти», чтобы войти на сервер с помощью SFTP. Как только соединение будет установлено и сервер завершит проверку закрытого и открытого ключей, вам будет предложено ввести пароль. Введите пароль и нажмите "ОК".

    Читайте также: