Основным способом удаленного доступа к серверам под управлением операционной системы Linux является подключение по протоколу SSH. Такое соединение является безопасным, так как все передаваемые данные зашифрованы. Для того, чтобы установить SSH-подключение необходимо на удаленной машине (сервере) настроить серверную часть, а на стороне пользователя клиентскую. Существует множество программных реализаций SSH, для операционной системы Linux наиболее распространен пакет OpenSSH, а в качестве клиента для Windows чаще всего используется PuTTY.
Рассмотрим установку и настройку серверной части на примере Ubuntu Server 18.04, затем выполним подключение к серверу из операционных систем Linux и Windows.
Все действия на сервере выполняем под учетной записью обычного пользователя, в нашем случае в системе для примера создан пользователь mihail, а учетная запись root по умолчанию отключена.
1. Установка серверной части
Устанавливаем пакет с помощью команды:
sudo apt install openssh-server

Скачивание и установка программ для работы с сервером по ssh
После завершения установки, убедимся, что служба запущена. Введем команду:
systemctl status sshd

Состояние “Active (running)” говорит о том, что служба работает.
Для того, чтобы исключить блокировку входящих подключений брандмауэром, отключим его, так как настройка межсетевого экрана в данной статье не рассматривается. Для этого воспользуемся командой:
sudo ufw disable

На этом этапе вы уже можете подключаться к серверу. С настройками по умолчанию сервер принимает входящие подключения на стандартный порт 22, с аутентификацией по паролю.
2. Подключение по SSH из Linux
Обычно в дистрибутивах Linux клиент OpenSSH установлен по умолчанию и не требует предварительной настройки. Подключение выполняется из окна терминала с помощью команды ssh. В качестве аргументов указываем имя пользователя и IP-адрес удаленного сервера. На нашем тестовом сервере, который мы используем в данном примере, существует только одна учетная запись mihail, именно её и будем использовать для подключения.
При первом подключении необходимо подтвердить добавление публичного ключа сервера в локальную базу, отвечаем “yes”, после чего вводим пароль пользователя, от имени которого выполняется подключение. Если соединение прошло успешно, вы увидите, приглашение командной строки сервера. Теперь все вводимые команды будут выполняться непосредственно на удаленной машине.

Настраиваем аутентификацию SSH по ключу в Linux / Unix
3. Подключение по SSH из Windows
Запускаем клиент Putty и устанавливаем параметры соединения. Переключатель “Connection type” переводим в положение SSH, в поле “Host Name” вводим IP-адрес сервера, в поле “Port” оставляем значение по умолчанию 22 и нажимаем Open.

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

После ввода логина и пароля вы увидите командную строку удаленного сервера.

4. Аутентификация по ключу. Повышаем уровень безопасности
Когда клиент пытается установить защищенное соединение с сервером по протоколу SSH, сервер, прежде чем разрешить подключение, выполняет процедуру аутентификации, то есть проверку подлинности клиента. Как уже было сказано, по умолчанию используется аутентификация по паролю, которая не обеспечивает надежный уровень безопасности, так как всегда есть вероятность подбора. Кроме того, ввод пароля неприменим при использовании SSH подключений в скриптах.
Для решения этих задач существует метод аутентификации по ключу. Его суть заключается в том, клиент генерирует приватный и публичный ключи, затем публичный ключ передаётся на сервер. После этого для подключения к серверу ввод пароля не требуется, так как аутентификация выполняется на основе взаимодействия закрытого и открытого ключей клиента. Для обеспечения безопасности доступ к закрытому ключу должен быть ограничен. Так как закрытый ключ хранится на машине клиента и не передается по сети, такой метод является более защищенным.
5. Настройка аутентификации по ключу из Linux
Генерируем публичный и приватный ключ на клиентской машине используя утилиту ssh-keygen. В процессе выполнения утилита предложит изменить путь к приватному ключу и ввести парольную фразу для дополнительной защиты. Оставляем все параметры по умолчанию нажимая Enter при выводе запросов.

В результате в домашнем каталоге пользователя в папке .ssh, будут сгенерированы два файла id_rsa и id_rsa.pub содержащие закрытый и открытый ключи соответственно.
После этого необходимо открытый ключ передать на сервер, а именно скопировать содержимое файла “id_rsa.pub” в файл “~/.ssh/authorized_keys” на сервере. Воспользуемся самым простым способом, утилитой “ssh-copy-id” В качестве параметров указываем логин и IP-адрес сервера, как при обычном подключении. После ввода пароля публичный ключ клиента будет автоматически скопирован на сервер. Выполняем команду:

После выполнения этих действий при подключении к серверу, пароль запрашиваться не будет.
6. Настройка аутентификации по ключу из Windows
Запускаем утилиту PUTTYGEN и нажимаем кнопку “Generate”. Для выполнения генерации необходимо произвольно перемещать указатель мышки по рабочему столу.
После того, как ключи сгенерированы, нажимаем кнопку “Save private key” и сохраняем файл с приватным ключом на диск. Место хранения закрытого ключа может быть произвольным, в дальнейшем в параметрях Putty потребуется указать путь к этому файлу. Далее выделяем и копируем в буфер обмена публичный ключ, отображаемый в верхней части окна.

Передачу публичного ключа на сервер выполним обычным копированием через окно терминала. Открываем Putty и подключаемся к серверу обычным способом.
Создадим в домашнем каталоге файл “.ssh/authorized_keys” и ограничим права других пользователей, так, чтобы доступ к этому файлу имел только владелец.
mkdir .ssh touch .ssh/authorized_keys chmod 700 .ssh chmod 600 .ssh/authorized_keys
После создания файла запишем в него публичный ключ клиента. На предыдущем шаге публичный ключ был скопирован в буфер обмена. Для записи содержимого буфера обмена в файл воспользуемся командой cat и перенаправлением вывода.
После ввода команды щелкнем правой кнопкой мыши по окну терминала для вставки содержимого буфера обмена. Для завершения ввода нажимаем комбинацию клавиш “Ctrl+D” и отключаемся от сервера.

Далее укажем в параметрах Putty место хранения приватного ключа и снова выполним подключение к серверу.

Теперь для подключения к серверу достаточно ввести только имя пользователя. Если же вы попытаетесь подключиться с другой машины, на которой отсутствует приватный ключ, сервер снова запросит ввод пароля. После того, как аутентификация по ключу настроена, в целях безопасности вы можете изменить конфигурацию сервера и запретить вход по паролю.
Источник: profitserver.ru
SSH как пользоваться
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 который назначается по-умолчанию на что-нибудь другое. Это избавит вас от автоматических переборов паролей злоумышленниками, а также добавит безопасности.
Сделать это можно выполнив команду:

Установите любой свободный порт, например 8529, и перегрузите сервер:
После этого можно соединяться с сервером по ssh протоколу.
Установка linux-клиента
Как мне известно ssh-client установлен на всех системах linux из коробки, но если у вас ssh не установлен, тогда введите команду:
sudo apt install openssh-client
Соединение c сервером SSH
Соединиться с ssh-сервером можно одной командой:
Где имя_сервера это ip адрес сервера или имя сервера (если сервер локальный), к примеру:

Ой, клиент пытается подключиться к серверу по порту 22, но мы его поменяли на 8529. Исправим это:

При соединении с вашим сервером, ssh клиент создаст отпечаток (fingerprint) сервера и сравнит его с тем, который хранится в конфиге. Нужно добавить сервер в список известных серверов, так как соединяемся в первый раз. Набираем «yes» и нажимаем «Enter».
Если в будущем сервер будет переустановлен, то соединиться с ним не получится, так как отпечаток не будет совпадать. Это сделано в целях безопасности, чтобы нельзя было подменить сервер. Чтобы исправить это, измените соответствующую строку в файле ~/.ssh/known_hosts или просто удалите этот файл.

Возможно вам будет интересно: Грамотное использование и преимущества SSD дисков

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

Как пользоваться ssh в windows
Что делать если у вас нет linux? Для ОС Windows существует ряд программ, самая популярная из которых — putty. Есть также расширение этой программы — kitty, которое добавляет в putty новый функционал.

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

Далее нужно скопировать сгенерированный ключ:

Теперь нужно зайти на сервер и скопировать полученный ключ в файл:
Теперь можно соединяться по ssh без пароля.

Теперь осталось сделать удобный alias на клиенте и соединяться с сервером одной простой командой.
Монтирование по ssh
Использование ssh не заканчивается выполнением команд на удаленном сервере. На основе протокола ssh базируются другие программы. Например sshfs — программа монтирования удаленной файловой системы с помощью ssh.
Создадим на сервере в домашней директории root тестовый файл:
Далее надо установить программу sshfs на клиенте:
Создадим тестовую директорию:
А теперь примонтируем домашнюю директорию root с сервера в нашу тестовую директорию на клиенте:

Чтобы размонтировать воспользуйтесь командой umount:
Копирование файлов по ssh
Что делать, если нужно скопировать файл на другой сервер? Можно, конечно, примонтировать удаленную файловую систему и воспользоваться обычной командой cp. Но что, если нужно сделать, к примеру, скрипт, который будет регулярно копировать файлы? В этом случае проще воспользоваться другой надстройкой над протоколом ssh — командой scp.
Возможно вам будет интересно: Как установить и настроить MySQL на сервере Windows
Из предыдущего пункта у нас остался файл fileonserver находящийся на сервере в домашней директории root (если его там нет — создайте). Скопировать его в домашнюю директорию клиента достаточно просто:

Параметр -P7777 указывает на порт 7777, который мы поменяли в самом начале.
Точно таким же образом можно отправить файл с клиента на сервер. Для этого используйте команду:

Заключение
В этой статье мы показали и рассказали как соединиться с одного компьютера на другой посредством SSH. Так же как выполнить копирование и монтирование файлов через SSH.
Источник: setiwik.ru
Как пользоваться SSH в Астра Линукс Орел в примерах
Приветствую на fast-wolker.ru! SSH подключение — универсальное средство удаленного управления компьютером LINUX и без него не обойтись. Оно применяется как само по себе (копирование файлов, настройка файлов конфигурации, выполнение сценариев, запуск терминала) так и служит базой для применения других программ для удаленного управления и подключений.
Подключение по SSH очень часто применяется в самых разных ситуациях. Потому как основное его назначение — обеспечить безопасное подключение. Грамотная настройка SSH позволит другим программам работать по безопасному протоколу.
После установки SSH сервера и успешного подключения уже можно работать удаленно. Запустим SSH
Напрмер, для копирования, редактирования файлов можно запустить файловый менеджер Midhight Commander с правави суперпользователя удаленного компьютера:
Хоть какая -никакая графика, и легкие операции с файлами (вплоть до установки прав и запуска на исполнение):

Старый добрый файловый менеджер Far Manager в линуксе по прежнему актуален и вполне способен облегчить работу с файлами и экономить время.
После завершения операции закрываем MC командой exit и продолжаем ввод команд.
Как пользоваться SSH ключом для подключения без пароля по сертификату?
Очень полезной опцией является подключение по ключу. Суть — на компьютере-клиенте генерируется сертификат безопасности, открытую часть которого будем копировать на сервер.
После чего подключение к серверу по SSH будет происходить без ввода пароля. Сначала нужно сгенерировать ключ на компьютере-клиенте. Закрываем текущее подключение SSH командой:
и генерим сертификат RSA командой:
- ключи (открытый и закрытый) будет сохранен по умолчанию в папке ./SSH текущего пользователя с именем по умолчанию.

- имя ключа не меняем СРАЗУ ЖМЕМ ENTER;
- подтверждаем пароль ключа (пустой — жмем ENTER;
- сгенерируется случайный ключ и будет выведен отпечаток;
Теперь нужно скопировать открытую часть на наш сервер. Но сначала нужно создать для него каталог SSH, тоже в корневой папке текущего пользователя. Закрываем сессию SSH и вводим команду:
- где mkdir — команда на создание каталога;
- .ssh создаваемая папка.
Далее, добавим ключ на сервер :
Вводим пароль, подтверждаем добавление ключа в список на сервере. Если все хорошо, то при последующей попытке соединения пароль запрашиваться не будет. А в в домашней папке ./ssh на сервере появится файл

… в который добавился наш ключ.
Как скопировать файл по SSH на Астра линукс?
Следующий навык копирование файла с компьютера клиента на сервер. Копирование файла осуществляется утилитой scp входящей в состав SSH (предварительно закрываем соединение SSH):
- где /home/superuser/.ssh/копируемый файл путь к файлу на компьютере-клиенте;
- :.ssh папка назначения, которую мы создали на сервере SSH или другая.
Как уже стало ясно, не обязательно устанавливать сессию для выполнения некоторых команд по SSH. Например создание каталога:
Можно копировать файлы как на удаленный компьютер так и с него, при этом залогинившись к нему или при остуствии соединения:
Для копирования файла с B на A когда подключены к B:
Копирование файла с B на A когда подключены к A:
Как запустить графическое приложение через SSH в Astra Linux?
Для редактирования файлов например можно использовать тот же встроенный Midnight Commander. Или использовать встроенный текстовый редактор Nano. Но через SSH гораздо привычнее и удобнее использовать приложения, работающие в графической среде X11.
Например, текстовый редактор в установленной сессии запускаем командой:
Файловый менеджер для рабочего стола запускаем:
Но не все приложения таким образом удобно запускать. Хорошо бы вывести рабочий стол сервера на на экран клиентской машины. Об этом будет материал в другой статье.
Передача файлов через SSH в Астра Линукс
Одной из замечательных фишек Линукс является «навык» перенаправления данных вводимых с клавиатуры в текстовый файл. Или чтение содержимого файла (или каталогов) и передача в другой файл, на другом компьютере, или экран монитора. По сути это не копирование файла а создание потока данных и сохранение их в нужном месте под именем.
Делается это с помощью команды cat, По умолчанию она выводит данные на экран, но знаками > (больше) или < (меньше) мы указываем направление потока. Прочитаем файл и передадим его содержимое на удаленный компьютер:
Знак | (труба) говорит о том, что прочитанные данные передаются на удаленный компьютер. В кавычках указано направление файл.
И обратная ситуация — нужно передать файл с удаленной машины на локальную:
В этой ситуации мы сначала подключаемся к файлу на удаленном компьютере, указываем в кавычках направление. Читаем и перенаправляем поток на локальную машину в обратную сторону.Вообще cat можно применять не только к файлам — но и выполнять команды по просмотру дерева каталогов, списка файлов в папках и так далее.
Например используя >> можно добавлять записи в конец файла и таким образом писать сценарии из последовательностей команд.Но самое востребованное направление SSH это создание на его основе безопасного туннеля, по которому возможно подключение к серверу других программ.
Ошибка X11 forwarding request failed on channel 0 при подключении к SSH серверу — как исправить?
Проверить настройки файла sshd.config по пути /etc/ssh/sshd.config
Строка X11UserLocalHost no должна быть раскоментирована и иметь значение «no».

После сохранения файла перезапускаем службу SSH на сервере:
sudo service sshd restart
Аналогичные настройки нужно проверить и на клиентской машине.Закрыть сессию и перезайти в SSH заново.
Источник: fast-wolker.ru