Содержание
- Лучшие клиенты SSH для Windows
- PuTTY Like Программы для Windows
- Заключительные замечания
- Как установить SSH-клиент в Windows 10
- Как использовать SSH-клиент в Windows 10
- Установка ssh-server
- Установка linux-клиента
- Как пользоваться ssh в windows
- Монтирование по ssh
- Копирование файлов по ssh
- Заключение
- Использование пароля
- Использование ключа
Тема создания своего личного прокси-сервера поднималась на “Путеводителе по интернету” давно. Зачем это нужно? Ну, допустим, в ситуации, когда вы находитесь в каком-то месте, где наложены жесткие ограничения на использование интернета. Чтобы посетить желаемые ресурсы, нужно искать прокси-сервер. Но зачем же пользоваться каким-то чужим, если в качестве прокси-сервера может выступать ваш домашний компьютер!
Допустим также, что на работе вы подключены через корпоративный прокси-сервер. Тогда обычными http-прокси вы воспользоваться не сможете. Механизм обхода таких ограничений был описан в моей статье про обход прокси. Но дело в том, что для такого обхода вам нужно иметь прокси-сервер, вам нужно иметь доступ к какому-нибудь ssh-серверу. И опять, почему бы не использовать для этой цели компьютер, стоящий у вас дома?
Возможно, эта статья для кого-то покажется высшим пилотажем, но, на самом деле очень просто сделать свой windows ssh server. Шаги по использованию такого сервера таковы:
- Устанавливаете ssh-сервер на свой домашний компьютер (описано в этой статье);
- Не забываете о том, что вам необходимо дома получить реальный IP-адрес; (обычно, это недорогая услуга у провайдера)
- На компьютере, с которого вы собираетесь использовать интернет в обход ограничений настраиваете ssh-подключение с помощью программы putty и настраиваете свой браузер на работу с прокси (подробно описано в статье про ssh);
- Если же тот компьютер уже работает через прокси, используете технологию обхода прокси (также подробно описано в статье по ссылке).
Таким образом, чтобы осуществить искомое нам остается лишь научиться устанавливать ssh-сервер под Windows. Перейдем к описанию!
Мы воспользуемся программой cygwin – имитацией Linux-среды под Windows. Отправляемся на сайт http://cygwin.com и скачиваем последнюю версию Cygwin (на момент написания статьи – 1.7.7). Запускаем установщик (и, конечно, нам понадобятся права администратора).
Где-то вначале установки может появиться странное предупреждение.
Игнорируем его и нажимаем OK. После нескольких простых вопросов (куда вы будете устанавливать и.т.п. – можете просто ничего не менять в предлагаемых настройках) переходим к выбору зеркала.
Этот список – “зеркала” официального сайта – места, откуда установщик сможет скачивать файлы. Можно выбирать что угодно, но для скорости рекомендую сайты немецких институтов по протоколу http. После выбора зеркала и небольшого ожидания бы попадем в список дополнительных пакетов, которые мы хотим установить. Нам понадобится пакет openssh. Вводим его в поиске, раскрывает плюсик с Net и выбираем пакет, как показано на скриншоте.
Продолжаем далее, подтверждаем свое согласие установить зависимые пакеты и ждем. Если все пройдет успешно, то через некоторое время Cygwin успешно установится. Однако, иногда случается, что выбранное зеркало не содержит все нужные нам пакеты. В таком случае появится окно с информацией:
Нажимаем “Да” и выбираем другое зеркало. Список устанавливаемых пакетов можно больше не просматривать.
В конечном итоге Cygwin будет установлен. Теперь нам необходимо отправиться в панель управления и завести пользователя Windows с паролем. Можно ему не давать права администратора. А вот пароль желательно установить не слишком простой. После создания пользователя переходим к следующей стадии. Запускам Cygwin – ярлык должен у вас быть на рабочем столе или в списке программ. Появится своеобразная командная строка. В ней нам нужно будет выполнить команду “ssh-host-config”.
Будут заданы некоторые вопросы. Я рекомендую на них отвечать “yes”. На главный вопрос “Enter the value of CYGWIN for the daemon” ответьте “ntsec ttyntsec tty” (все это без кавычек). После того, как все будет настроено, дайте команды “net start sshd”, чтобы запустить сервер (после перезагрузки он запустится сам) и “mkpasswd -cl > /etc/passwd”, чтобы перенести информацию о паролях пользователей Windows в Cygwin.
На этом установка заканчивается. О чем вам надо позаботиться – так это о том, чтобы какие-либо сетевые экраны не запрещали входящие соединения для Cygwin. Если вы используете сетевой экран, встроенный в Windows, то в его настройках потребуется открыть 23 порт:
А, например, последняя версия Касперского выдает страшные предупреждения следующего типа:
Но эти предупреждения работе программы не мешают.
На этом я заканчиваю. Если все пройдет успешно, вы сможете использовать свой домашний компьютер как windows ssh server!
А напоследок хочу вебмастерам порекомендовать недавно обнаруженный мной сервис, осуществляющий мониторинг серверов. Дело в том, что я недавно столкнулся с проблемами, когда мой сайт был недоступен. И хоть сейчас я ошибку сумел исправить, мне бы не хотелось, чтобы такое повторялось. Поэтому я пользуюсь (и другим советую) сервисами по мониторингу состояния сайта. Когда ваш сайт будет недоступен, вы получите об этом уведомление.
← USB устройства | Зачем нужен твиттер? → |
comments powered by Disqus Содержание Лучшие клиенты SSH для Windows 1. PuTTY (бесплатно; с открытым исходным кодом) PuTTY Like Программы для Windows 2. SuperPutty (бесплатно; с открытым исходным кодом; на основе PuTTY) Рекомендуемые руководства: 3. PuTTY Tray (бесплатно; с открытым исходным кодом; на основе PuTTY) 4. KiTTY (бесплатно; с открытым исходным кодом; на основе PuTTY) Альтернативы PuTTY 5. MobaXterm (бесплатно; доступна платная версия Pro) 6. SmarTTY (бесплатно) 7. Клиент Dameware SSH (бесплатно; доступны платные опции) 8. mRemoteNG (бесплатно; с открытым исходным кодом) Рекомендуемые руководства: 9. Терминалы (бесплатно; с открытым исходным кодом) 10. FireSSH Аддон Заключительные замечания
Я думал, что был довольно доволен PuTTY в качестве моего SSH-клиента Windows, но эти 10 лучших SSH-клиентов заставили меня переосмыслить. И я больше не использую PuTTY для SSH на машине с Windows 10. Системы на основе Linux становятся все более распространенными. В качестве примеров управления маршрутизатора DD-WRT, ASUS маршрутизатор писак и управления Raspberry Pi, все они требуют SSH работы. Проще говоря, SSH или Secure Shell предоставляют доступ из командной строки к удаленной системе, на которой работает сервер SSH. Для любого взлома уровня администратора вам потребуется SSH в вашу удаленную систему. В течение нескольких лет я использовал PuTTY, но в начале этого года я перешел на MobaXterm Home Edition, бесплатный SSH-клиент для Windows, и я более чем счастлив. Я показал вам, как установить SSH на Ubuntu Server, В этой статье я расскажу о некоторых лучших SSH-клиентах для Windows и некоторых бесплатных альтернативах PuTTY.
Лучшие клиенты SSH для Windows
Большой недостаток в Windows – отсутствие совместимой с Linux оболочки. Есть несколько главных клиентов SSH, которые заполняют этот пробел. Чтобы перейти к делу: PuTTY – это самый распространенный бесплатный SSH-клиент для Windows. Мой личный фаворит – MobaXterm, который бесплатен для личного использования с 10 хостами. Читайте дальше, чтобы узнать больше о других бесплатных клиентских опциях Windows SSH. [ Читать: Лучшие клиенты SSH для Android: 10 бесплатных приложений SSH для удаленного администратора ]
1. PuTTY (бесплатно; с открытым исходным кодом)
Прежде чем мы поговорим об альтернативах PuTTY, позвольте мне сначала поговорить о PuTTY, который предлагает отличную бесплатную оболочку SSH / Telnet для Windows. Кто-то, вероятно, скажет, что PuTTY – лучший SSH-клиент. Я показал вам, как установить PuTTY на Windows. Подключиться к удаленному SSH-серверу так же просто, как просто набрать IP-адрес или домен и порт и нажать «Открыть».
SSH-доступ с PuTTY для Windows
Вас могут попросить ввести имя пользователя и пароль для подключения к удаленному SSH-серверу. Кроме того, вы можете использовать PuTTY с ключами SSH для подключения без паролей. Вы даже можете создать ярлык Windows для сеансов PuTTY, чтобы открыть сеанс SSH одним щелчком мыши. Теперь, когда мы увидели, что такое PuTTY, давайте рассмотрим некоторые лучшие SSH-клиенты, которые могут быть отличными альтернативами PuTTY.
PuTTY Like Программы для Windows
Ниже перечислены 3 SSH-клиента, основанные на PuTTY, и они выглядят как PuTTY, но предоставляют дополнительные функции для перехода на следующий уровень. Если вы хотите придерживаться среды PuTTY, то стоит взглянуть на один из этих SSH-клиентов для Windows.
2. SuperPutty (бесплатно; с открытым исходным кодом; на основе PuTTY)
SuperPutty – это альтернатива Windows PuTTY, целью которой является создание лучшей версии PuTTY. Однако для запуска требуется PuTTY. Другими словами, SuperPuTTY делает существующую установку PuTTY лучше. Это позволяет сеансам с вкладками, а также передачу файлов SCP между удаленной и локальной системой.
SuperPuTTY требует PuTTY для запуска
Особенности SuperPuTTY включают в себя:
- Пользовательский интерфейс стыковки позволяет персонализировать рабочее пространство и легко управлять несколькими сеансами PuTTY
- Экспорт / Импорт конфигурации сеанса
- Безопасная загрузка файлов с использованием протоколов scp или sftp
- Макеты позволяют настраивать виды сеансов
- Поддерживает конфигурации сеансов PuTTY, включая приватные ключи
- Поддерживает протоколы SSH, RLogin, Telnet и RAW
- Поддерживает локальную оболочку через MinTTY или puttycyg
- Поддерживает Китти
Рекомендуемые руководства:
9. Терминалы (бесплатно; с открытым исходным кодом)
Terminals – это защищенный клиент с множеством вкладок / клиент удаленного рабочего стола. Он предлагает несколько функций и конкурирует с некоторыми из платных или закрытых клиентов SSH Windows, перечисленных выше.
Терминалы SSH Client
- Интерфейс с несколькими вкладками
- Открыть терминал на весь экран, переключаться между полноэкранным режимом
- Избранные
- Сетевые инструменты: инструменты Ping, Tracert, DNS, Wake on LAN, сканер портов, общие ресурсы и т.д.
- История подключений
- Снимок экрана
- Откройте пользовательское приложение из окна Терминалов
- Мульти-протокол: удаленный рабочий стол Windows (RDP), VNC, VMRC, SSH, Telnet и т.д.
Терминалы определенно имеют много инструментов и функций по сравнению с некоторыми другими программами-клиентами SSH, перечисленными выше. Полный список функций и скриншоты доступны на сайте терминала.
10. FireSSH Аддон
Если по какой-либо причине вы предпочитаете не использовать отдельное программное обеспечение для удаленного администрирования SSH, то дополнение FireSSH для Firefox и Chrome может стать отличной альтернативой. Отличным примером является ситуация, когда вы находитесь в системе, у которой нет прав администратора. Хотя портативные клиенты SSH могут работать на таких ПК с Windows, расширение FireSSH не зависит от платформы.
FireSSH для Firefox и Chrome
FireSSH – это расширение, написанное на Javascript и позволяющее вам подключаться к удаленному SSH-серверу через ваш браузер. Если ваш браузер позволяет просматривать вкладки, вы можете открывать сессии SSH в отдельных вкладках.
Заключительные замечания
Приведенный выше список лучшего программного обеспечения SSH для Windows ни в коем случае не является исчерпывающим. Существуют и другие хорошие SSH-клиенты, такие как XShell (платный), Bitvise SSH Client (бесплатный для индивидуального использования) и TeraTerm (бесплатный), которые могут быть сопоставимы. Также помните, что приведенный выше список ориентирован на пользователей домашнего сервера или медиацентра для выполнения базовых административных задач, а не на бизнес-среду. Некоторые из медиаплееров Android могут даже администрироваться с использованием SSH с установленным приложением сервера SSH. Как упоминалось в статье, я использовал и любил PuTTY, но перешел на MobaXterm и был очень счастлив. Для многих это будет вопросом личных предпочтений. Но я надеюсь, что этот список лучших клиентов SSH суммирует несколько вариантов на выбор.
Источник записи: https://www.smarthomebeginner.com
31.07.2020 в 23:35
Microsoft объявила, что в 2015 году представит интегрированный клиент OpenSSH для Windows. Они наконец-то сделали это, и SSH- клиент спрятан в Windows 10 Fall Creators Update. Теперь вы можете подключиться к серверу Secure Shell из Windows без установки PuTTY или любого другого стороннего программного обеспечения.
Update: встроенный SSH-клиент теперь включен по умолчанию в Windows 10’s April 2018 Update.
У PuTTY все еще может быть больше возможностей. Согласно системе отслеживания ошибок проекта на GitHub, встроенный SSH-клиент на данный момент поддерживает только ключи ed25519.
Как установить SSH-клиент в Windows 10
Клиент SSH является частью Windows 10, но это «дополнительная функция», которая не устанавливается по умолчанию.
Чтобы установить его, перейдите в «Настройки»> «Приложения» и нажмите «Управление дополнительными функциями» в разделе «Приложения и функции».
Нажмите «Добавить функцию» вверху списка установленных функций. Если у вас уже установлен SSH-клиент, он появится в списке здесь.
Прокрутите вниз, выберите «OpenSSH Client (Beta)» и нажмите «Установить».
Windows 10 также предлагает сервер OpenSSH, который вы можете установить, если хотите запустить сервер SSH на своем ПК. Вы должны установить его, только если вы действительно хотите запустить сервер на своем ПК, а не просто подключиться к серверу, работающему в другой системе.
Как использовать SSH-клиент в Windows 10
Теперь вы можете использовать SSH-клиент, выполнив команду ssh
. Это работает либо в окне PowerShell, либо в окне командной строки, поэтому используйте то, что вы предпочитаете.
Чтобы быстро открыть окно PowerShell, щелкните правой кнопкой мыши кнопку «Пуск» или нажмите Windows + X и выберите «Windows PowerShell» в меню.
Чтобы просмотреть синтаксис команды ssh, просто запустите ее:
SSH
Если вы видите сообщение об ошибке, в котором говорится, что команда не найдена, вам необходимо выйти и снова войти в систему. Также сработает перезагрузка вашего компьютера. В этом нет необходимости, но это бета-версия.
Эта команда работает так же, как подключение к серверу SSH через команду ssh
в других операционных системах, таких как macOS или Linux. Его синтаксис или параметры командной строки одинаковы.
Например, чтобы подключиться к SSH-серверу по адресу ssh.example.com с именем пользователя «bob», вы должны выполнить:
ssh bob@ssh.example.com
По умолчанию команда пытается подключиться к серверу SSH, работающему через порт 22, который используется по умолчанию. Однако вам может потребоваться подключиться к серверу, работающему на другом порту. Вы делаете это, указывая порт с коммутатором -p
. Например, если сервер принимает подключения через порт 7777, вы должны выполнить:
ssh bob@ssh.example.com -p 7777
Как и в случае с другими клиентами SSH, при первом подключении вам будет предложено принять ключ хоста. Затем вы получите среду командной строки, которую сможете использовать для запуска команд в удаленной системе.
Источник:
- How to Enable and Use Windows 10’s New Built-in SSH Commands
#Обновление Содержание
SSH — Это протокол, с помощью которого можно удаленно залогиниться и выполнять команды так, как будто находишься на удаленном сервере. Одним словом SSH это рабочая лошадка при общении с сервером linux
Чтобы соединиться с одного компьютера на другой посредством SSH, вам потребуется ssh-server и ssh-client.
В этой статье мы покажем как пользоваться SSH, как установить SSH и как настроить SSH в системах Linux.
Возможно вам будет интересно КОМАНДА SSH В LINUX
Установка ssh-server
Итак, у вас есть сервер, с которым вы хотите соединяться. Но для начала требуется установить openssh-server
. Установка достаточно проста:
sudo apt install openssh-server
Эта команда подойдет для DEBIAN, UBUNTU. Как включить SSH в Fedora вы можете прочитать Здесь.
Установка очень быстро, не задавая вопросов.
После установки openssh-server
рекомендую сменить порт ssh с 22 который назначается по-умолчанию на что-нибудь другое. Это избавит вас от автоматических переборов паролей злоумышленниками, а также добавит безопасности.
Сделать это можно выполнив команду:
sudo nano /etc/ssh/sshd_config
Установите любой свободный порт, например 8529, и перегрузите сервер:
restart ssh
После этого можно соединяться с сервером по ssh протоколу.
Установка linux-клиента
Как мне известно ssh-client установлен на всех системах linux из коробки, но если у вас ssh не установлен, тогда введите команду:
sudo apt install openssh-client
Соединение c сервером SSH
Соединиться с ssh-сервером можно одной командой:
ssh имя_сервера
Где имя_сервера это ip адрес сервера или имя сервера (если сервер локальный), к примеру:
ssh192.168.1.80
Ой, клиент пытается подключиться к серверу по порту 22, но мы его поменяли на 8529. Исправим это:
ssh -p 8529 192.168.1.80
При соединении с вашим сервером, ssh клиент создаст отпечаток (fingerprint) сервера и сравнит его с тем, который хранится в конфиге. Нужно добавить сервер в список известных серверов, так как соединяемся в первый раз. Набираем «yes» и нажимаем «Enter».
Если в будущем сервер будет переустановлен, то соединиться с ним не получится, так как отпечаток не будет совпадать. Это сделано в целях безопасности, чтобы нельзя было подменить сервер. Чтобы исправить это, измените соответствующую строку в файле ~/.ssh/known_hosts или просто удалите этот файл.
Далее вводим пароль. Не знаете какой пароль? Это пароль пользователя на сервере, с которым вы установили при установке Linux. В данном случае на скриншоте это пользователь root. Если нужно соединяться под именем другого пользователя, тогда требуется указать его имя перед сервером: user@192.168.1.80. После ввода пароля вы войдете на сервер.
Вам может показаться, что ничего не изменилось и что вы по-прежнему на своем компьютере. Но если обратить внимание на имя хоста, то вы поймете, что вы уже находитесь на сервере.
Теперь можно вводить любые команды, как будто вы физически находитесь за терминалом удаленного компьютера.
Чтобы завершить соединение, введите команду exit.
Как пользоваться ssh в windows
Что делать если у вас нет linux? Для ОС Windows существует ряд программ, самая популярная из которых — putty. Есть также расширение этой программы — kitty, которое добавляет в putty новый функционал.
Программа достаточно проста в эксплуатации.
Соединение SSH без пароля
Для удобства можно настроить беспарольное подключение для определенного пользователя. Для этого требуется сгенерировать ключ на клиенте. Делается это командой:
ssh-keygen -t dsa
Все поля можно оставить по-умолчанию.
Далее нужно скопировать сгенерированный ключ:
cat /root/.ssh/id_dsa.pub
Теперь нужно зайти на сервер и скопировать полученный ключ в файл:
nano ~/.ssh/authorized_keys
Теперь можно соединяться по ssh без пароля.
Теперь осталось сделать удобный alias на клиенте и соединяться с сервером одной простой командой.
Монтирование по ssh
Использование ssh не заканчивается выполнением команд на удаленном сервере. На основе протокола ssh базируются другие программы. Например sshfs — программа монтирования удаленной файловой системы с помощью ssh.
Создадим на сервере в домашней директории root тестовый файл:
cd ~ && touch fileonserver
Далее надо установить программу sshfs на клиенте:
sudo apt install sshfs
Создадим тестовую директорию:
cd ~ && mkdir fromserver
А теперь примонтируем домашнюю директорию root с сервера в нашу тестовую директорию на клиенте:
sshfs -C -p 7777 root@192.168.1.80:/root/ ~/fromserver
Проверяем результат:
ls -la ~/fromserver
Чтобы размонтировать воспользуйтесь командой umount:
umount /root/fromserver
Копирование файлов по ssh
Что делать, если нужно скопировать файл на другой сервер? Можно, конечно, примонтировать удаленную файловую систему и воспользоваться обычной командой cp. Но что, если нужно сделать, к примеру, скрипт, который будет регулярно копировать файлы? В этом случае проще воспользоваться другой надстройкой над протоколом ssh — командой scp.
Из предыдущего пункта у нас остался файл fileonserver находящийся на сервере в домашней директории root (если его там нет — создайте). Скопировать его в домашнюю директорию клиента достаточно просто:
scp -P7777 root@192.168.1.80:/root/fileonserver ~
Параметр -P7777 указывает на порт 7777, который мы поменяли в самом начале.
Точно таким же образом можно отправить файл с клиента на сервер. Для этого используйте команду:
touch filefromclient
scp -P7777 ~/filefromclient root@192.168.1.80:/root/
Заключение
В этой статье мы показали и рассказали как соединиться с одного компьютера на другой посредством SSH. Так же как выполнить копирование и монтирование файлов через SSH.
27 июля в 2020 50K SSH — зашифрованный протокол для удаленного управления серверами. Для подключения через него вы можете каждый раз вводить пароль или настроить авторизацию по ключу. Второй вариант безопаснее, но у него есть свои особенности. В этой статье мы рассмотрим оба метода подключения, а вы уже сами выберите, какой способ удобнее. Проверка службы SSH на сервере Доступ по SSH обычно можно включить при создании сервера или во время настройки конфигурации. Убедиться в том, что он разрешен, можно через консоль. Она доступна в панели управления сервером. Например, у меня VDS на Timeweb. Чтобы попасть в консоль, я авторизуюсь по логину и паролю, выданному хостером, выбираю свой сервер в списке VDS и перехожу на вкладку «Консоль». Чтобы пользоваться консолью, нужно авторизоваться. Логин и пароль для доступа к серверу хостер присылает в письме. Сначала нужно ввести логин и нажать на клавишу Enter. Появится строка Password. В ней необходимо ввести пароль и снова нажать на клавишу Enter. Важно: в целях безопасности при вводе пароля на экране не отображаются никакие символы, даже привычные звездочки.
После авторизации в консоли можно проверить, запущена ли служба SSH на сервере.
- Выполните команду systemctl status sshd.
- Обратите внимание на строчку Active. В ней должна быть выделенная зеленым запись active (running). Это состояние говорит о том, что служба запущена.
Если служба не активна, добавьте ее самостоятельно. Выполните команду sudo apt install openssh-server и подтвердите установку пакетов.
Кроме того, для подключения вам может понадобиться настройка брандмауэра. Чтобы межсетевой экран не блокировал входящие соединения, можно на время отключить его командой sudo ufw disable.
Использование пароля
Начнем с инструкции о том, как подключиться к удаленному серверу через SSH по логину и паролю. Это самый простой способ. Хостер предоставляет вам IP-адрес, логин и пароль. Этого достаточно для того, чтобы установить соединение с удаленным сервером.
Подключение на Windows
Моя основная система — Windows. Раньше для подключения к серверу через SSH я пользовался сторонней утилитой PuTTY, потому что в операционной системе не было встроенного компонента. В «десятке» он появился, так что теперь можно подключаться к SSH через командную строку (cmd).
Чтобы включить встроенный в систему OpenSSH:
- Откройте «Параметры» (Win + I) и перейдите в раздел «Приложения».
- Выберите опцию «Управление дополнительными компонентами».
- Нажмите «Добавить компонент».
- Выберите в списке OpenSSH Client и нажмите «Установить».
- После завершения установки перезагрузите систему.
Теперь разберемся, как подключиться к SSH через cmd. Запустите командную строку и выполните запрос вида ssh root@185.104.114.90.
Значение root — логин для подключения, вы получили его в письме при создании сервера. 185.104.114.90 — IP-адрес сервера. Его можно посмотреть в панели управления сервером или в том же письме, которое прислал хостер. У команды может быть также дополнительный параметр -p, после которого прописывается номер порта. По умолчанию используется порт 22. Если у вас настроен другой порт, нужно явно его указать, — например, полный адрес может выглядеть так: ssh root@185.104.114.90 -p 150.
После выполнения команды клиент SSH предложит добавить устройство в список известных. Введите в командной строке yes и нажмите на Enter. Затем укажите пароль для доступа к серверу. На этом подключение к серверу через SSH завершено — теперь все команды будут выполняться на удаленной машине, к которой вы подключились.
На версиях младше Windows 10 1809 нет встроенной поддержки протокола OpenSSH. В таком случае понадобится сторонняя утилита. Смотрим, как через PuTTY подключиться по SSH:
- Запустите PuTTY.
- На вкладке Session укажите Host Name (IP-адрес сервера), Port (по умолчанию 22, но если вы в конфигурации сервера указали другой порт, нужно задать его номер).
- Убедитесь, что тип соединения установлен SSH.
- Нажмите на кнопку Open, чтобы подключиться.
Если вы ввели правильные данные, появится окно консоли, в котором нужно указать логин и пароль для подключения к серверу. При первом запуске также отобразится запрос на добавление устройства в список известных.
Подключение на Linux и macOS
Теперь посмотрим, как подключиться по SSH через терминал на Linux. Для этого не требуется установка дополнительных компонентов, все работает «из коробки».
- Запустите терминал. Обычно для этого используется сочетание клавиш Ctrl+Alt+T. Найти терминал также можно по пути «Главное меню» — «Приложения» — «Система».
- Выполните команду для подключения. Синтаксис такой же, как на Windows, — ssh root@185.104.114.90. Если порт не стандартный, то нужно явно его указать: например, ssh root@185.104.114.90 -p 150. Вместо root вы указываете свое имя пользователя, а вместо 185.104.114.90 — IP-адрес своего сервера.
- Если хост и порт указаны верно, на следующем шаге появится запрос на ввод пароля. При первом подключении также будет предложение добавить новое устройство в список известных. Для этого введите yes и нажмите на клавишу Enter.
На этом подключение завершено. Теперь все команды, которые вы вводите в терминале, будут выполняться на удаленной машине.
Если IP-адрес или порт указаны неверно, то на экране появится сообщение об ошибке — Connection Refused. Это может также говорить о том, что доступ запрещен брандмауэром на удаленном сервере (если вы его не отключили). Чтобы разрешить подключение через SSH:
- на сервере с Ubuntu/Debian выполните команду $ sudo ufw allow 22/tcp;
- на сервере CentOS/Fedora выполните команду $ firewall-cmd –permanent –zone=public –add-port=22/tcp.
Цифра 22 в синтаксисе — номер порта. Если вы используете другой порт, то укажите его явно.
Если вы знаете как подключиться через SSH на Linux, то справитесь с этой задачей и на macOS. В операционной системе Apple тоже есть встроенный терминал. Синтаксис команды для подключения не меняется: ssh root@185.104.114.90, где root — ваш логин, а 185.104.114.90 — IP-адрес сервера, с которым вы устанавливаете соединение.
Читайте также
Использование ключа
Ввод пароля для подключения через SSH — раздражающая процедура. У меня почти никогда не получалось ввести его правильно с первого раза. Поэтому я начал искать информацию о том, как подключиться к серверу через SSH без пароля. Простое и безопасное решение — использование ключа. Почему это безопаснее? Потому что пароль можно подобрать. Чтобы исключить такую вероятность, многие пользователи выбирают авторизацию с помощью ключа.
Суть процедуры в формировании двух ключей: публичного и приватного. Первый копируется на сервер, а второй остается на компьютере пользователя и не передается по сети. В таком случае пароль при подключении не требуется. Когда вы подключаетесь к серверу через SSH, публичный ключ взаимодействует с приватным и открывает доступ к удаленному управлению.
Генерирование ключа и подключение на Windows
Для удобства используем программу PuTTy. Вместе с ней устанавливается утилита PuTTYgen — в ней можно сгенерировать публичный и приватный ключи.
- Запустите программу PuTTYgen.
- Нажмите на кнопку Gengerate.
- Водите курсором мышки по рабочему столу, чтобы сгенерировать случайные значения ключей.
- Нажмите на кнопку Save private key, чтобы сохранить на жестком диске приватный ключ. Место хранения может быть любым — его нужно указать в параметрах PuTTY. Сделаем это позже.
- Скопируйте публичный ключ в буфер обмена (Ctrl + C) и закройте генератор ключей.
Теперь нужно перенести публичный ключ на сервер. Запустите программу PuTTY и подключитесь к серверу с помощью пароля. Затем последовательно введите следующие команды:
mkdir ~/.ssh chmod 0700 ~/.ssh touch ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys
Эти команды создают на сервере папку и файл для хранения ключей, а также ограничивают к ним доступ — получить его может только владелец.
Следующий шаг — вставка публичного ключа из буфера обмена в файл authorized_keys. Для этого используется команда cat > .ssh/authorized_keys. После ввода команды щелкните по окну терминала правой кнопкой, чтобы вставить скопированный ранее публичный ключ. Для завершения ввода нажмите на сочетание клавиш Ctrl+D.
Вернитесь в настройки PuTTY. Перейдите в раздел Connection — SSH — Auth. Нажмите на кнопку Browse и укажите путь к приватному ключу, который вы ранее сохранили на жестком диске.
Теперь для подключения к серверу через SSH пароль не нужен — достаточно указать логин и IP-адрес сервера.
Генерирование ключа и подключение на Linux и macOS
Теперь посмотрим, как подключиться через SSH ключи на Linux и macOS.
- Запустите терминал на локальном компьютере.
- Выполните команду ssh-keygen, чтобы сгенерировать ключи.
- Нажмите на Enter, чтобы сохранить ключи.
Генератор предложит также задать кодовую фразу для ключа. Это дополнительная мера безопасности: если кто-то получит доступ к вашей локальной машине, то все равно не сможет подключиться к серверу через SSH. Минус один — вам тоже придется постоянно вводить ключевую фразу. Можно отказаться от этой меры защиты, просто нажав на клавишу Enter.
На этом процедура создания ключей завершена. Файлы d_rsa (приватный ключ) и id_rsa.pub (публичный ключ) хранятся в папке ~/.ssh/. Осталось скопировать открытую часть ключа на сервер.
- Вернитесь в терминал.
- Выполните команду ssh-copy-id root@185.104.114.90, где root — логин для подключения к серверу по SSH, а 185.104.114.90 — IP-адрес или хост сервера.
После выполнения этой команды публичный ключ будет скопирован на сервер. Теперь вы можете подключаться к удаленной машине с помощью логина и IP-адреса — например, ssh root@185.104.114.90. Ключи будут сопоставляться автоматически.
Отключение запроса пароля
Суть приватных ключей в том, что они хранятся на локальных компьютерах. Если вы попытаетесь подключиться к серверу с другой машины, на которой нет ключа, то снова увидите запрос на ввод пароля. Чтобы авторизоваться можно было только по ключу, запретите использование пароля.
- Подключитесь к удаленному серверу.
- Выполните команду sudo nano /etc/ssh/sshd_config. Файл sshd_config откроется во встроенном текстовом редакторе.
- Найдите строку PasswordAuthentication yes и измените ее на PasswordAuthentication no.
- Сохраните изменения и перезапустите службу SSH командой sudo service ssh restart.
Авторизация по паролю отключена. Теперь подключиться к серверу можно только с помощью пары ключей.
Сергей Почекутов +195
ли со статьей или есть что добавить?