Вам часто может потребоваться доступ к удаленным серверам для администрирования, управления и устранения неполадок, и существует несколько способов сделать это. Вы можете использовать telnet для входа на удаленные серверы; FTP позволяет передавать файлы между различными серверами. Однако эти программы недостаточно безопасны для подключения к критическим серверам. SSH, secure shell - это криптографический сетевой протокол, с помощью которого вы можете получить безопасный доступ к сетевым сервисам через незащищенную сеть. SSH позволяет получить доступ к серверам через Терминал и различные функции командной строки. Это полезно, если вы хотите получить доступ к серверу и управлять им удаленно, используя безопасный способ.
В этой статье я опишу, как можно удаленно управлять сервером Linux с помощью SSH.
Для этой статьи я использую следующие машины:
- Для SSH-сервера - Ubuntu
- Для SSH-клиента - Terminal (Ubuntu) и Putty (Windows)
Установка SSH-соединения
Прежде чем установить безопасное удаленное соединение с сервером Ubuntu с помощью SSH, необходимо выполнить некоторые основные требования.
Необходимые условия
Ниже перечислены некоторые предварительные условия:
- Удаленный сервер должен быть включен и иметь стабильное сетевое подключение.
- Вам потребуется IP-адрес сервера.
- Удаленный сервер должен быть доступен через этот IP-адрес. Вы можете проверить это с помощью команды Ping.
- Инструменты SSH-сервера и SSH-клиента должны быть установлены в ОС сервера и клиента соответственно.
- Вам потребуется имя пользователя и пароль удаленного сервера.
- Брандмауэр не должен блокировать соединение.
Установка сервера OpenSSH
Для удаленного управления сервером Ubuntu по SSH вам понадобится программное обеспечение SSH-сервера. Однако, прежде чем приступить к установке OpenSSH, сначала обновите список пакетов, чтобы получить самые актуальные репозитории.
Обновление базы данных пакетов
Нажмите Ctrl + Alt + T, чтобы запустить Терминал в Ubuntu. Введите следующую команду в Терминале для обновления базы данных пакетов.
1 | sudo apt-get update |
После обновления репозиториев выполните эту команду в Терминале, чтобы проверить наличие обновления для установленных пакетов.
1 | sudo apt-get upgrade |
После обновления пакетов выполните следующую команду в Терминале:
1 | sudo apt-get install openssh-server |
Настройка сервера SSH
Теперь вам нужно выполнить некоторые основные и необходимые настройки SSH-сервера в файле ssh_config. Для этого выполните следующую команду в Терминале, чтобы открыть ssh_config:
1 | sudo nano /etc/ssh/sshd_config |
Здесь вы можете выполнить различные настройки конфигурации. Сейчас мы выполним только базовую и начальную настройку, как показано на скриншоте ниже. Раскомментируйте следующую строку в файле ssh_config:
1 | #Port 22 |
Под номером порта добавьте строку MaxAuthTries. Вы можете ввести здесь любое число, которое будет разрешать максимальное количество попыток входа в систему.
1 | MaxAuthTries 4 |
Закончив с базовой конфигурацией, сохраните файл и выйдите из редактора Nano.
Проверка состояния службы SSH
Чтобы проверить состояние SSH-сервера, запущен он или нет, вы можете выполнить следующую команду в Терминале:
1 | sudo service ssh status |
Вышеприведенная команда подтверждает, что служба SSH активна и запущена.
Теперь SSH-сервер настроен на прием удаленных соединений с различных компьютеров с помощью SSH-клиента.
Если служба SSH не запущена, вы можете запустить ее вручную, выполнив следующую команду в Терминале:
1 | sudo service ssh start |
Вы также можете остановить службу SSH, выполнив следующую команду в Терминале:
1 | sudo service ssh stop |
Доступ к серверу Ubuntu Linux через SSH-клиент
Вы можете получить доступ к серверу Linux через SSH-клиент в ОС Linux или Windows:
- Через терминал (Linux)
- Через Putty (Windows)
Если вы используете операционную систему Linux, вы можете получить доступ к SSH серверу с помощью программы Terminal.
Нажмите Ctrl+Alt+T для запуска программы Terminal. Выполните команду в следующем синтаксисе для доступа к удаленному серверу:
1 | ssh [удаленный сервер] [номер порта]. |
Где [remote server] - имя или IP удаленного сервера, а [Port Number] - удаленный порт для SSH-соединений.
Также вы можете ввести команду вместе с именем пользователя удаленного сервера в следующем синтаксисе:
1 | ssh [имя пользователя]@[удаленный сервер] [номер порта] |
Где [имя пользователя] - это имя пользователя удаленного сервера.
Введите yes, когда появится сообщение с вопросом, хотите ли вы продолжить подключение. Это добавит пользователя в список известных хостов. При следующем подключении это сообщение больше не появится.
Когда появится запрос на пароль, введите пароль удаленного пользователя.
Теперь вы подключены к удаленному серверу. Вы можете запустить любую команду и использовать ее так же, как и при доступе к локальному серверу.
Подключение к Ubuntu из Windows с помощью SSH-клиента Putty
Если вы используете операционную систему Windows, вы можете использовать putty в качестве SSH-клиента.
Установите putty в вашей операционной системе Window. Чтобы запустить Putty, введите putty в строке поиска Windows и выберите putty.exe из наиболее подходящих результатов.
В окне конфигурации putty, в категории сеансов, введите IP-адрес удаленного сервера в поле с надписью Имя хоста (или IP-адрес).
В разделе Тип соединения выберите радиокнопку SSH. Если вы используете порт, отличный от стандартного порта 22, обязательно измените его, в противном случае оставьте стандартный порт 22. Затем нажмите кнопку Открыть, чтобы разрешить соединение.
Откроется терминал с запросом на вход. Введите имя пользователя и пароль пользователя удаленного сервера.
После успешного входа на удаленный сервер вы можете выполнить любую команду для управления им.
Вот как вы можете легко подключить серверы Linux с помощью SSH. Теперь вы можете управлять и администрировать сервер удаленно. SSH - это не только безопасный метод подключения к серверу, но и удобный.