Как подключиться по ssh с помощью ключа mac os

Обновлено: 04.07.2024

Скачайте утилиты Pageant и PuTTYgen отсюда (если вы собираетесь использовать WinSCP для SFTP, то эти утилиты устанавливаются вместе с ним).

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

Затем придумайте пароль для ключа и дважды введите его в полях Key passphrase и Confirm passphrase. Это необязательно, пароль можно оставить пустым, но мы настоятельно рекомендуем все-таки ввести его и, более того, сделать длинным и сложным.

После этого сохраните получившиеся ключи, нажав на кнопки Save public key и Save private key. Файл публичного ключа назовите, например, id_rsa.txt, файл приватного ключа — id_rsa.ppk. Также скопируйте текст из поля Public key for pasting into OpenSSH authorized_keys file и сохраните его в файл id_rsa_openssh.txt.

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

Запустите программу pageant.exe. В области уведомлений на панели задач появится его иконка: дважды кликните по ней, нажав в открывшемся окне на кнопку Add key, выберите файл своего приватного ключа и, указав пароль, активируйте его.

Поместите свой публичный ключ на сервер:

Для использования SSH:

На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл

/.ssh/authorized_keys и поместите в него ваш публичный ключ из файла id_rsa_openssh.txt. Установите права 0700 на папку .ssh и 0600 на файл authorized_keys.

— это домашняя директория вашего аккаунта (там, где находится папка domains).

Для использования SFTP:

На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл

/.sftp/authorized_keys и поместите в него ваш публичный ключ из файла id_rsa.txt. Установите права 0700 на папку .sftp и 0600 на файл authorized_keys.

— это домашняя директория FTP-аккаунта. Если вы собираетесь использовать основной FTP-аккаунт, то папку .sftp нужно создать в вашей корневой директории, рядом с папкой domains, если дополнительный — в той папке, которую вы указывали при создании этого FTP-аккаунта.

В файл authorized_keys можно поместить сразу несколько публичных ключей — для разных людей.

Далее достаточно просто подсоединиться к серверу по SSH с помощью PuTTY или по SFTP с помощью SFTP-клиента, поддерживающего авторизацию по ключу (например, WinSCP или FileZilla) без указания пароля. Программа должна сама определить, что для авторизации необходимо использовать ключ.

Если вы пользователь Mac OS или Linux:

Откройте терминал и введите в него команду:

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

В результате в папке .ssh внутри вашей домашней директории появятся файлы key_rsa и key_rsa.pub. Теперь введите следующую команду:

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

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

Поместите свой публичный ключ на сервер:

Для использования SSH:

На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл

/.ssh/authorized_keys и поместите в него ваш публичный ключ из файла key_rsa_alt.pub. Установите права 0700 на папку .ssh и 0600 на файл authorized_keys.

— это домашняя директория вашего аккаунта (там, где находится папка domains).

Для использования SFTP:

На сервере (с помощью FTP или файлового менеджера контрольной панели) создайте файл

/.sftp/authorized_keys и поместите в него ваш публичный ключ из файла key_rsa_alt.pub. Установите права 0700 на папку .sftp и 0600 на файл authorized_keys.

— это домашняя директория FTP-аккаунта. Если вы собираетесь использовать основной FTP-аккаунт, то папку .sftp нужно создать в вашей корневой директории, рядом с папкой domains, если дополнительный — в той папке, которую вы указывали при создании этого FTP-аккаунта.

В файл authorized_keys можно поместить сразу несколько публичных ключей — для разных людей.

Активируйте свой ключ на локальном компьютере, для этого в терминале введите команду:

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

Далее достаточно просто подсоединиться к серверу по SSH через терминал или по SFTP с помощью SFTP-клиента, поддерживающего авторизацию по ключу (например, FileZilla) без указания пароля. Программа должна сама определить, что для авторизации необходимо использовать ключ.


Нужно создать пару ключей: приватный (закрытый) ключ и публичный (открытый) ключ. Приватный ключ никогда никуда никому не передавать. Публичный ключ можно показывать всем.

-C - комментарий. Ъ администраторы, указывают не только контактный email, но и идентификатор хоста, с которого будет использоваться ключ (например MacBook office).

Пр желании можно дать ключу другое имя (ключ -f ), например id_rsa_server_vps13.

Следующий пункт passphrase. Это парольная фраза или проще говоря пароль для ключа.

Минусы. Его нужно будет вводить каждый раз, когда используется ключ.
Очевидный плюс. Если файл окажется в чужих руках без парольной фразы использовать его не получится. Ну и не стоит использовать пароли admin111 или qwerty123.

Шаг 2. Скопировать открытый ключ на удаленный хост

Как всегда в unix есть множество вариантов для этого.

Долгий путь

В macOS можно скопировать содержимое файла в буфер обмена с помощью pbcopy

Подключаемся к удаленному серверу, переходим в директорию .ssh и открываем (или создаем) файл authorized_keys.

Добавляем ключ из буфера обмена.

Кстати каждый ключ должен быть на отдельной строке. И никаких пустых строк между ключами.

ssh-copy-id

Начиная с Sierra утилита уже есть в составе системы и не нужно ставить с github или через homebrew.

или с указанием имени ключа

cat + ssh

Шаг 3. Локальный конфиг SSH и тест подключение

Добавим локальный файл конфигурации для SSH клиента в файл

Особый интерес представляют опции UseKeychain и AddKeysToAgent.

Пароль приватного ключа можно хранить в "Связке ключей" (Apple KeyChain). Один раз добавили и всё - больше никогда не надо вводить никаких паролей для подключения по ssh.

В каком-то релизе (Sierra? у меня не Linux, чтобы отслеживать это) всё сломали и Terminal теперь по-умолчанию не использует keychain.

Опция AddKeysToAgent вышла в OpenSSH 7.2 еще в 2016 году, но я узнал про нее только сейчас.

Что еще важного в ссылках выше?

Добавить private key вручную в keychain ssh-add -K

Буду рад если кто-то более подробно разобрался в данном вопросе и дополнит заметку.

Этот документ поможет Вам выполнить подключение к Вашему виртуальному серверу по протоколам SSH и SFTP.

SSH (англ. Secure SHell — «безопасная оболочка») — сетевой протокол сеансового уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Сходен по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли.

SFTP (англ. SSH File Transfer Protocol) — протокол прикладного уровня, предназначенный для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения. Существует заблуждение, что SFTP это просто обычный FTP, работающий поверх SSH. В действительности SFTP — это новый протокол, разработанный с нуля.

Данные для подключения к виртуальному серверу

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


Нам необходимо знать IP адрес виртуального сервера (1) и пароль для пользователя root (2).

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

Подключение к виртуальному серверу по SSH из Mac OS X или Linux

Пользователи операционных систем Mac OS X или Linux могут использовать стандартное приложение terminal для подключения к виртуальному серверу по SSH протоколу. Для подключения к Вашему виртуальному серверу используйте следующую команду (измените 188.127.236.62 на IP адрес вашего виртуального сервера):

Так выглядит процесс подключения к виртуальному серверу в терминале Unix или Mac OS X:

Подключение к виртуальному серверу по SSH из Windows

Пользователи операционной системы Windows могут использовать для соединения с виртуальным сервером по протоколу SSH программу PuTTY. PuTTY - очень популярный telnet/ssh клиент, распространяется бесплатно.

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

Введите в поле “Host Name (or IP address)” IP-адрес Вашего виртуального сервера (на примере вводится helios.asu). Убедитесь, чтобы в пункте “Protocol” была выбрана радио-кнорка “SSH”.

Также, для того, чтобы каждый раз не вводить адресс и тип протокола вы можете сохранить сессию. Для этого введите ее название в поле “Saved Sessions” и нажмите кнопку “Save”.

После этого ваша сессия появится ниже в списке. Для того чтобы загрузить сохраненную сессию нужно выбрать ее из списка и нажать кнопку “Load”.

Если вы уверены в том, что подключаетесь к нужному хосту, то нажмите кнопку “Yes/Да”. Появится следующее:

Введите свой логин (root), затем пароль. Перед вами консоль системы:

Для выхода введите:

Подключение к виртуальному серверу по SFTP

Мы не рекомендуем клиентам Clodo использовать для передачи файлов на виртуальный сервер устаревший протокол FTP. Мы рекомендуем использовать более новый и безопасный протокол SFTP – протокол передачи данных поверх безопасного соединения по протоколу SSH. У протокола SFTP много плюсов:

Шифрование обеспечивает практически полную безопасность обмена данными с сервером Нет необходимости в дополнительном ПО на виртуальном сервере, в состав сервера OpenSSH уже входит SFTP-сервер. В любом из представленных на Clodo дистрибутивов не нужно ничего настраивать, всё работает «из коробки» Если Вы просто не можете жить без дополнительных настроек, то гибкость настройки SFTP сервера Вас поразит! При работе через SFTP, пользователи будут иметь те же права, что и на сервере, то есть, опять же, нет необходимости в дополнительной настройке. В общем плюсы можно перечислять бесконечно.

В этом руководстве мы кратко рассмотрим возможности популярных клиентов по работе с SFTP протоколом

Подключение по SFTP с помощью FileZilla

По умолчанию вам не нужно настраивать FileZilla, мы просто сразу начнём работать с программой.


Отметим, что панель быстрого подключения, как ясно из названия, приспособлена для быстрых подключений, т.е. у вас нет возможности редактировать список из 10-ти последних подключений. Для сохранения параметров подключения используйте Менеджер Сайтов.

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

После подключения, в правой стороне главного окна будет отображён список файлов и директорий. Текущая директория будет показана в редактируемом поле в верхней части. Ниже отображается удалённое дерево директорий, а ещё ниже - содержимое текущей удалённой директории. Перейти в другую директорию можно тремя разными путями. Первый: сделайте двойной щелчок на директории в списке. Второй: кликните на директории в дереве. Последний способ: введите имя директории в редактируемое поле и нажмите Enter. Обратите внимание на директорию “..”, присутствующую практически во всех остальных директориях. Эта ссылка позволяет вам перейти к родительскому каталогу текущей директории.

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


Клиент SSH позволяет подключаться к удаленному компьютеру, на котором работает SSH-сервер. Протокол Secure Shell (SSH) часто используется для подключений к удаленному терминалу, позволяя вам получить доступ к терминалу в текстовом режиме на удаленном компьютере, как если бы вы сидели за ним. Его также можно использовать для туннелирования SSH, передачи файлов SCP и других вещей.

Windows

Windows по-прежнему не предлагает встроенной команды SSH. Microsoft подняла шум по поводу интеграции официального SSH-клиента в PowerShell еще в 2015 году, но с тех пор мы мало что слышали об этом. Таким образом, наиболее популярным и широко рекомендуемым решением для подключения к SSH-серверам является стороннее приложение с открытым исходным кодом под названием PuTTY.

Обновление: в Windows 10 теперь есть официальная команда SSH, которую вы можете установить. Это часть Windows 10, но является «необязательной функцией».

Загрузите PuTTY и запустите его, чтобы начать работу. Вы можете загрузить установщик, включающий PuTTY и связанные с ним утилиты. или файл putty.exe, который может работать как портативное приложение.

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

Как подключиться к SSH-серверу из Windows, macOS или Linux

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

Если вы увидите это предупреждение в будущем после того, как уже один раз подключились к серверу, это означает, что отпечаток ключа шифрования сервера отличается. Либо администратор сервера изменил его, либо кто-то перехватывает ваш трафик и пытается обманом заставить вас подключиться к вредоносному SSH-серверу-самозванцу. Быть осторожен!

Как подключиться к SSH-серверу из Windows, macOS или Linux

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

С PuTTY вы можете сделать гораздо больше. Например, если вам нужно использовать файл закрытого ключа для аутентификации на SSH-сервере, вы найдете эту опцию в Connection> SSH> Auth в окне конфигурации PuTTY, которое появляется при запуске приложения. Обратитесь к руководству PuTTY для получения дополнительной информации.

macOS и Linux

Операционные системы на основе UNIX, такие как macOS и Linux, включают встроенную команду SSH, которая везде работает практически одинаково. Вы даже можете использовать эту команду в Windows 10 через среду Bash в Windows.

Чтобы подключиться к SSH-серверу из одной из этих операционных систем, сначала откройте окно терминала. На Mac вы найдете это в Finder> Applications> Utilities> Terminal. На рабочем столе Linux найдите ярлык Терминал в меню приложений. В Windows установите и откройте оболочку Bash.

Как подключиться к SSH-серверу из Windows, macOS или Linux

Эта команда подключится к серверу SSH через порт 22, который используется по умолчанию. Чтобы указать другой порт, добавьте -p в конец команды номер порта, к которому вы хотите подключиться, например:

Как подключиться к SSH-серверу из Windows, macOS или Linux

Как подключиться к SSH-серверу из Windows, macOS или Linux

Вам будет предложено ввести пароль, который требуется учетной записи пользователя на сервере SSH, прежде чем продолжить. Как только вы это сделаете, вы будете подключены. Закройте окно или введите «exit» и нажмите Enter, чтобы завершить соединение SSH.

Как подключиться к SSH-серверу из Windows, macOS или Linux

Вы найдете дополнительную информацию об использовании команды ssh на странице руководства по SSH. Вы можете получить к нему доступ, набрав man ssh на терминале или просмотрев его в своем веб-браузере.

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