Вопрос или проблема
Меня перенаправили на этот StackExchange, я впервые здесь. Мой опыт работы с SSH-ключами начинается и заканчивается тем единственным случаем, когда я настраивал возможность отправки кода на GitHub.
Мне нужно получить доступ к FTP-серверу через Cyberduck. Я в SFTP и нужно “Выбрать…” SSH-ключ. У меня есть ТЕКСТ для частного ключа, который мне прислали. Значит, я могу скопировать и вставить его в файл? Я не уверён, как действовать дальше, и все ресурсы, которые я нахожу, предназначены для генерации ключа, а не для сохранения файла для загрузки.
Буду признателен за руководство и ресурсы.
Вы можете сохранить текст, который вам прислали, как файл и использовать встроенную функцию “Выбрать…” в Cyberduck. Я на компьютере с Windows, поэтому использовал приложение Блокнот. Я предполагаю, что TextEdit на Mac даст аналогичные результаты. Вот шаги:
- Откройте Блокнот
- Вставьте текст, который был предоставлен для вашего SSH-ключа
- Сохраните файл (я назвал свой
key.txt
) - Откройте Cyberduck
- Выберите Открыть соединение
- Выберите SFTP (SSH File Transfer Protocol) в качестве типа подключения
- Введите сервер, порт (22), имя пользователя
- Вы можете пропустить пароль – он использует SSH-ключ
- Для SSH-ключа выберите “Выбрать…” и найдите место хранения вашего файла
- Нажмите Подключиться
- Появится запрос на неизвестный отпечаток; нажмите Разрешить (вы можете выбрать “Всегда”, если это подключение вам доверено и вы будете использовать его часто)
- Вы должны увидеть ваши файлы и/или назначенное место папки!
Если вы используете SFTP-клиент для подключения к SFTP-серверу, вам следует сгенерировать пару SSH-ключей (то есть в Unix: ssh-keygen) и предоставить ваш публичный ключ (то есть .ssh/id_rsa.pub
или .ssh/id_ed25519.pub
) администратору SFTP-сервера.
Если ваш SSH-ключ находится в каталоге по умолчанию, программное обеспечение может найти его автоматически.
Если вы используете OpenSSH (SFTP является его частью), вы можете использовать
sftp -i <privateKey> [email protected]
чтобы подключиться к SFTP-серверу, как только администратор SFTP-сервера поместит ваш SSH публичный ключ в нужное место (это зависит от настройки и используемого SSH-сервера).
Добавляя к ответу nikiwaibel, некоторые версии SFTP не примут “-i”, поэтому вы можете использовать альтернативу
sftp -oIdentityFile=<privateKey.file> [email protected]
Ответ или решение
Для подключения к SFTP-серверу с использованием предоставленного SSH-ключа, вам потребуется следовать нескольким простым шагам. В этой инструкции мы рассмотрим, как это сделать с помощью клиента Cyberduck, который широко используется для работы с SFTP.
Шаги по подключению к SFTP с использованием Cyberduck и SSH-ключа
-
Создание файла с закрытым ключом:
- Откройте текстовый редактор, такой как Блокнот на Windows или TextEdit на Mac.
- Вставьте текст вашего закрытого SSH-ключа в новый файл.
- Сохраните файл под названием, например,
key.txt
. Убедитесь, что в настройках сохранения выбран формат "Все файлы" для Windows или "Текстовый документ" для Mac.
-
Открытие Cyberduck:
- Запустите клиент Cyberduck.
- Нажмите на кнопку Open Connection (Открыть подключение).
-
Выбор протокола подключения:
- В выпадающем меню выберите SFTP (SSH File Transfer Protocol) как тип подключения.
-
Ввод данных соединения:
- Укажите адрес сервера в поле Server (Сервер).
- Укажите порт (обычно 22) в поле Port (Порт).
- Введите свое имя пользователя в поле Username (Имя пользователя).
- Поле Password (Пароль) можно оставить пустым, так как для аутентификации будет использован SSH-ключ.
-
Выбор SSH-ключа:
- В разделе настройки SSH Private Key (Закрытый ключ SSH) нажмите на кнопку Choose… (Выбрать…) и найдите сохраненный файл
key.txt
.
- В разделе настройки SSH Private Key (Закрытый ключ SSH) нажмите на кнопку Choose… (Выбрать…) и найдите сохраненный файл
-
Подключение к серверу:
- Нажмите кнопку Connect (Подключиться).
- Если появится запрос о неизвестном отпечатке, нажмите Allow (Разрешить) и, если это соединение надежное, вы можете выбрать Always (Всегда), чтобы не получать этот запрос в будущем.
-
Настройки соединения:
- После успешного подключения вы должны увидеть файл и/или папку, к которой у вас есть доступ на сервере.
Полезные советы
-
Проверка формата ключа: Убедитесь, что ваш закрытый ключ имеет правильный формат. Он должен начинаться с текста типа
-----BEGIN OPENSSH PRIVATE KEY-----
и заканчиваться-----END OPENSSH PRIVATE KEY-----
. -
Совместимость ключей: Если ваш SSH-ключ создан в нестандартном формате, некоторые клиенты SFTP могут не поддерживать оригинальный формат ключа. В таком случае попробуйте конвертировать его с помощью командной строки или использовать другой SSH-ключ.
-
Запуск клиента SFTP через терминал: Если вам удобнее использовать терминал, вы можете подключиться, используя команду:
sftp -i path/to/your/key.txt [email protected]
Замените
path/to/your/key.txt
на путь к вашему файлу с ключом, аusername@hostname
— на ваше имя пользователя и адрес сервера.
Заключение
Следуя вышеперечисленным шагам, вы сможете успешно подключиться к SFTP-серверу посредством Cyberduck с использованием SSH-ключа. Если у вас возникнут какие-либо проблемы, не стесняйтесь обращайтесь в техническую поддержку или к администратору сервера для получения дополнительной информации.